首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多查询match_phrase_prefix elasticsearch

多查询match_phrase_prefix elasticsearch
EN

Stack Overflow用户
提问于 2018-08-16 05:42:53
回答 1查看 920关注 0票数 0

我想为同一字段查询两个不同的前缀。下面的代码完全按照我想要的方式在字段上工作:

代码语言:javascript
复制
GET  /logstash-*/_search
{
    "query": {
        "match_phrase_prefix" : {
            "type" : {
                "query" : "job-source"
            }
        }
    }
}

我在文档中找不到如何在两个查询中做到这一点(我找到了如何在多个字段中搜索)。我已经尝试了一个布尔值应该和下面的代码片段,但是这两个都没有给出我想要的结果。

代码语言:javascript
复制
GET  /logstash-*/_search
{
    "query": {
        "match_phrase_prefix" : {
            "type" : {
                "query" : ["job-source","job-find"]
            }
        }
    }
}

如何仅查询前缀为type:job-source或type:job-find的文档?

先谢谢你,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-16 10:21:18

您可以使用should组合两个match_phrase_prefix查询,并将minimum_should_match设置为1。

示例查询:

代码语言:javascript
复制
{
    "query":
    {
        "bool":
        {
            "should": [
            {
                "match_phrase_prefix":
                {
                    "type": "job-source"
                }
            },
            {
                "match_phrase_prefix":
                {
                    "type": "job-find"
                }
            }],
            "minimum_should_match": 1
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51866865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档