gpt4 book ai didi

elasticsearch - Elasticsearch高亮显示多个查询无法正常工作

转载 作者:行者123 更新时间:2023-12-02 23:24:44 28 4
gpt4 key购买 nike

这里我有2个数据放入了 flex 搜索

PUT /a/b/1
{
"message": "a b"
}

PUT /a/b/2
{
"message": "b c"
}

然后,我尝试通过此查询获取数据
GET /a/b/_search
{
"from": 0,
"highlight": {
"fields": {
"message": {}
}
},
"query": {
"bool": {
"should": [
{
"query_string": {
"_name": "query_1",
"default_operator": "AND",
"fields": [
"message"
],
"query": "a"
}
},
{
"query_string": {
"_name": "query_2",
"default_operator": "AND",
"fields": [
"message"
],
"query": "b AND c"
}
}
]
}
}
}

我所期望的是,elasticsearch应该在数据ID 1 处 高亮显示“a”,因为它与 query_1 相匹配,但在数据ID 1 中不应该突出显示 “b”,因为无论何时我们都会选择“b” 该消息包括“c”

这是我所期望的
"<em>a</em> b"

我实际上得到了什么
"<em>a</em> <em>b</em>"

无论如何,我能达到我的期望吗?

最佳答案

AFAIK,这在Elasticsearch中是不可能的。它将突出显示所有匹配的术语,而不管这些术语属于哪个子查询。最接近您需要的是 highlight_query ,但这也不起作用。我能想到的唯一选择是查询两次-使用“query_1”一次,然后使用“query_2”一次,然后在客户端中组合结果。但是,这样做当然会影响文档的分数。

关于elasticsearch - Elasticsearch高亮显示多个查询无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44621694/

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