我第一次使用Elasticsearch,我确信这一定很容易,但到目前为止,我还没有使用Java API解决方案:
我有一系列搜索字词,我希望以不区分大小写的方式返回匹配任何这些字词的匹配。
除了区分大小写之外,此代码有效,但我希望它不区分大小写:
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...
}
答案 0 :(得分:0)
您正在使用Terms查询 - 这不会被分析。
尝试使用Match查询或Query String查询替换它。这些都得到分析,并假设您正在使用标准分析器将所有术语转换为小写。