在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java/ 如何阻止elasticsearch的分詞?

如何阻止elasticsearch的分詞?

1.某個(gè)字段型如:field: "aaa-bbb".
2.我已經(jīng)設(shè)置了map,這個(gè)字段映射為不分詞not_analyzed,并且重新導(dǎo)入了數(shù)據(jù)。
3.但是在聚合的時(shí)候(terms),仍然把這個(gè)字段分詞為兩個(gè)部分aaa和bbb。
4.我應(yīng)該怎么做才能阻止被'-'分隔的字段分詞呢。我需要完整的aaa-bbb?求救。

回答
編輯回答
萌二代

在logstash設(shè)置映射的模板:

  "your_field": {
  "type": "text",
  "fielddata": true,
  "fields": {
    "raw": {
      "type": "keyword",
      "index": "not_analyzed"
    }
  }
}

這里給your_field字段設(shè)置了一個(gè).raw
在聚合的時(shí)候:

java:
  AggregationBuilders.terms("aggName").field("your_field.raw")

這個(gè).raw相當(dāng)于muti_filed.是一個(gè)完全不會(huì)分詞的屬性。應(yīng)用它實(shí)現(xiàn)聚合就完全避免了分詞。

2017年10月29日 07:53