使用Elasticsearch Java API匹配多个单词中的任意一个,不区分大小写
我是第一次使用Elasticsearch,我相信这一定很容易,但到目前为止,使用Java API还没有找到一个解决方案: 我有一个搜索词数组,我希望以不区分大小写的方式返回匹配这些词的匹配结果 除了区分大小写之外,此代码也可以工作,但我希望它不区分大小写:使用Elasticsearch Java API匹配多个单词中的任意一个,不区分大小写,java,
elasticsearch,Java,
elasticsearch,我是第一次使用Elasticsearch,我相信这一定很容易,但到目前为止,使用Java API还没有找到一个解决方案: 我有一个搜索词数组,我希望以不区分大小写的方式返回匹配这些词的匹配结果 除了区分大小写之外,此代码也可以工作,但我希望它不区分大小写: String[] terms = {"orange", "peach"}; SearchResponse response = client.prepareSearch("orders") .setTypes("fruit")
String[] terms = {"orange", "peach"};
SearchResponse response = client.prepareSearch("orders")
.setTypes("fruit")
.setQuery(
QueryBuilders.termsQuery("description", terms).minimumMatch(1)
)
.setFrom(0).setSize(10)
.setExplain(true)
.execute()
.actionGet();
for ( SearchHit hit : response.getHits()) {
String source = hit.sourceAsString();
//only case sensitive matches found...
}
您使用的是查询-无法对其进行分析
尝试用一个或多个查询替换它。它们都会被分析,并且假设您使用的是标准分析器,它会将所有术语转换为小写