gpt4 book ai didi

elasticsearch - 找出在多匹配查询中匹配的字段

转载 作者:行者123 更新时间:2023-11-29 02:49:02 26 4
gpt4 key购买 nike

我在三个字段上使用典型的多重匹配查询:名称、城市、州。多重匹配查询也使用 Java 函数评分脚本。有什么方法可以在评分脚本中知道哪些字段与我的多重匹配查询匹配?如果不是,是否有任何方法可以从 SearchResponse 对象中找出这一点?

我目前使用的是 Elasticsearch 1.2.1,但如果需要,我可以轻松升级。

最佳答案

我不相信您可以直接使用多重匹配来做到这一点,但是如果您添加突出显示,您应该会得到一个显示哪些字段匹配的响应:

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/highlighting-intro.html

在此页面的示例中:

    GET /megacorp/employee/_search
{
"query" : {
"match_phrase" : {
"about" : "rock climbing"
}
},
"highlight": {
"fields" : {
"about" : {}
}
}

}

您可以将 match_phrase 更改为 multi_match 并添加字段列表:

    GET /megacorp/employee/_search
{
"query" : {
"multi_match" : {
"query" : "rock climbing",
"fields": ["about", "otherfield"]
}
},
"highlight": {
"fields" : {
"about" : {},
"otherfield": {}
}
}

}

这应该会给您一个突出显示的响应,其中包括围绕匹配文本和匹配字段的突出显示。

关于elasticsearch - 找出在多匹配查询中匹配的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25537322/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com