如何通过在查询字符串中使用'basket'来查找名称为'basketball'和'basket'的结果?

问题描述 投票:0回答:0

如何通过在query_string中使用'basket'来查找名称为'basketball'和'basket'的结果?如果可能的话,我希望尽可能少的改变。

ES 查询 -

{
    "query" : {
        "filtered": {
            "query": {
                "query_string": {
                    "query": "basket",
                    "default_operator": "AND",
                    "analyze_wildcard": true
                }
                
            }
        }
    },

"size" : 50,
"from" : 0,
"sort" : {}
}

映射-

"name": {
          "type": "string",
          "analyzer": "filename_index",
          "include_in_all": true,
          "fields": {
            "raw": {
              "type": "string",
              "index": "not_analyzed"
            },
            "lower_case_sort": {
              "type": "string",
              "analyzer": "naturalsort"
            }
          }
        },

filename_index 分析器 -

"filename_index" : {
             "tokenizer" : "filename",
             "filter" : [
              "word_delimiter", 
              "lowercase",
              "russian_stop", 
              "russian_keywords", 
              "russian_stemmer",
              "czech_stop",
              "czech_keywords",
              "czech_stemmer"
            ]
          },

弹性搜索 1.7 :( 亲切的问候!

elasticsearch search
© www.soinside.com 2019 - 2024. All rights reserved.