使用Elasticsearch Java API匹配任何单词,不区分大小写

时间:2014-11-17 20:36:54

标签: java elasticsearch

我第一次使用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...
}

1 个答案:

答案 0 :(得分:0)

您正在使用Terms查询 - 这不会被分析。

尝试使用Match查询或Query String查询替换它。这些都得到分析,并假设您正在使用标准分析器将所有术语转换为小写。