弹性搜索查找包含而不是匹配的消息

时间:2016-05-24 13:12:06

标签: java elasticsearch

我正在执行这样的搜索:

SearchResponse response = client.prepareSearch(INDEX_NAME)
             .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
             .setQuery(QueryBuilders.termsQuery(TAG_NAME,badWords))
             .execute()
             .actionGet();
termSearhc中的

“badWords”被定义为Set。

badWords中定义的单词就像“OR”运算符,这意味着在badWords中定义的一个单词的每个匹配上都会计算一个匹配。

它适用于我,但我想要的是搜索将在文本中找到包含一个badWords项目的单词,而不需要完全匹配。

例如,如果badWords包含:{like,watch}

对于文字:“我喜欢看”,结果将为0,因为它不会检测到匹配。 我怎么解决这个问题?使用什么查询?

0 个答案:

没有答案