我正在执行这样的搜索:
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,因为它不会检测到匹配。 我怎么解决这个问题?使用什么查询?