elasticsearch 多字段弹性搜索短语前缀查询,elasticsearch,match,field,elasticsearch,Match,Field" /> elasticsearch 多字段弹性搜索短语前缀查询,elasticsearch,match,field,elasticsearch,Match,Field" />

elasticsearch 多字段弹性搜索短语前缀查询

elasticsearch 多字段弹性搜索短语前缀查询,elasticsearch,match,field,elasticsearch,Match,Field,我是ES新手,我正在尝试构建一个查询,该查询将对多个字段使用短语前缀,这样我就不必搜索多次 以下是到目前为止我得到的信息: { "query" : { "text" : { "first_name" : { "query" : "Gustavo", "type" : "phrase_prefix" } } } }' 是否有

我是ES新手,我正在尝试构建一个查询,该查询将对多个字段使用短语前缀,这样我就不必搜索多次

以下是到目前为止我得到的信息:

{ 
    "query" : { 
        "text" : { 
            "first_name" : { 
                "query" : "Gustavo", 
                "type" : "phrase_prefix" 
            }
        } 
    }
}'
是否有人知道如何搜索多个字段,比如“姓氏”?

您正在使用的字段不久前已被弃用(实际上已重命名),取而代之的是。匹配查询支持单个字段,但您可以使用支持相同选项并允许搜索多个字段的。以下是一个对您有帮助的示例:

{
    "query" : {
        "multi_match" : {
            "fields" : ["title", "subtitle"],
            "query" : "trying out ela",
            "type" : "phrase_prefix"
        }
    }
}
您可以通过如下方式使用Java API实现相同的功能:

QueryBuilders.multiMatchQuery("trying out ela", "title", "subtitle")
    .type(MatchQueryBuilder.Type.PHRASE_PREFIX);

令人惊叹的!非常感谢你!顺便问一下,您知道如何用Java实现这一点吗?我在文件里找不到,java.lang.String…)谢谢,工作得很好!对我来说,使用/add
“fields”:[“*”],“lenient”:true
,这样可以搜索所有字段,并且当字段列表中(隐式)包含数字字段时,文本输入不会导致异常。上面没有给我短语前缀I don'tthink@mgaert谢谢,你的建议奏效了。也许它应该独立运行(anwser:)