簡體   English   中英

使用Elasticsearch Java API匹配任意幾個單詞,不區分大小寫

[英]Using Elasticsearch Java API to match any of several words, case insensitive

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

您正在使用字詞查詢-不會進行分析。

嘗試將其替換為匹配查詢或查詢字符串查詢。 都將進行分析,並假設您使用的是標准分析器,會將所有術語都轉換為小寫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM