Elasticsearch通配符可以正常工作,但query_string不能

时间:2018-11-21 11:51:46

标签: elasticsearch

A在Elasticsearch中存储了名称,我想使用通配符搜索它们。所以当我使用查询

{
    "query": {
        "bool": {
            "should":
                {
                    "wildcard" : { "name1" : "абаев а*" }
                }

        }
    }
}

它工作正常。但是现在我正在尝试实现多个字段搜索:

{
    "query": {
        "bool": {
            "should":
                {
                    "query_string" : { 
                        "query" : "абаев*",
                        "fields": ["name1", "name2"],
                        "default_operator": "AND"
                    }
                }

        }
    }
}

,此查询不起作用。

字段分析器:

{
    'analyzer': {
        'keyword_lowercase': {
            'tokenizer': 'keyword',
            'filter': 'lowercase'
        }
    }
}

文档示例:

{
    "name1": "Абаева Хрестиния",
    "name2": "Абаева Арестиния"
}

{
    "name1": "Аиб Мария"
}

我做错了什么?

0 个答案:

没有答案