首页 > 解决方案 > Elastic Search Python:必须包含所有单词并按单词顺序排序到结果

问题描述

必须包含所有单词并按单词顺序排序到 Elastic Search 的结果

怎么做?

我的意思是我有 python 查询:

result = es.search(index="main_database", body={"query": {"match": {'Full_texts':es_query}}}, size=50)

问题是:“Full_texts”中至少有一个词,然后它给了我结果。

对我来说,我希望所有单词都必须包含并保持单词顺序。

例如:搜索结果的顶部符合我的要求,并且中间和底部结果与默认的弹性搜索结果相同。

标签: pythonelasticsearch

解决方案


尝试将运算符and用于您的 Elasticsearch 匹配查询。

搜索查询将是

{
    "query": {
        "match": {
            "Full_texts": {
                "query": "<your_query_input_goes_here>",
                "operator": "and"
            }            
        }
    }
}

但是不保证词序,如果你严格要求词序,也请参考@ExploZe的回答


推荐阅读