簡體   English   中英

如何在Elasticsearch 2.x中實施``以...開頭''搜索

[英]How to implement 'Starts with' search in elasticsearch 2.x

我有一個要求,我只需要返回那些注釋不是以字符串開頭的記錄。 PFB查詢,這種方法不起作用。 需要幫忙

{
  "size": 0, 
  "fields": ["id","comment"], 
  "query": {
    "bool": {
      "must_not": [
        {
          "wildcard": {
            "comment":
              "AG//*"
          }

        }
      ]
    }
   }
}  

首先,您應該從查詢中刪除"size": 0 (或設置所需的大小)以查看結果。

現在,為了實現最好的方式“前綴 ”中elasticsearch是使用前綴的查詢 ,如下所示:

{
   "fields": ["id", "comment"],
   "query": {
      "bool": {
         "must_not": [
            {
               "prefix": {
                  "comment": "AG"    <-- No need for any wildcards
               }
            }
         ]
      }
   }
}

注意:前綴查詢和通配符查詢僅對not_analyzed字段有意義,因此請確保您的"comment"字段具有相同的映射。

暫無
暫無

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

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