在 elasticsearch 的字符串索引字段中搜索单词 java

searching for a word in a string indexed field in elasticsearch java

我有一个格式为 "SS,SX,US,IND,CND,TN" 的字符串字段 countries 并且我有一个输入字符串字段 countryCode 将采用 "SS" 的形式。如何查询给定国家/地区代码在elasticsearch中的国家/地区的所有记录?我尝试了 matchmatch_phrase 查询,但没有得到想要的结果。

Query.must(QueryBuilders.matchPhraseQuery("countries", 国家代码))

您可以尝试使用 bool query 代替:

QueryBuilder qb = boolQuery().must(termQuery("countries", countryCode))

(您的 "countries" 字段不应定义为 not_analyzed