gpt4 book ai didi

elasticsearch - Elasticsearch |如何获得具有相应匹配值的原始搜索查询

转载 作者:行者123 更新时间:2023-12-02 22:27:45 24 4
gpt4 key购买 nike

我正在使用ElasticSearch作为人力资源数据库的搜索引擎。

用户提交一个权限(例如“中断”),ElasticSearch返回按最佳匹配排序的所有用户。

我已经将“能力”字段配置为使用同义词,因此“创新”将与“破坏”相匹配。

我想向用户(正在执行搜索)显示特定搜索结果如何与搜索查询匹配。为此,我使用explain api(reference)

该查询按预期工作,并向每个_explanation返回一个hit
特定匹配的详细信息(略有简化)如下所示:

{
description: "weight(Synonym(skills:innovation skills:disruption)),
value: 3.0988
}

问题:我看不到 _explanation中的原始搜索词。 (如上面的示例所示:我可以看到某些搜索查询与“创新”或“颠覆”相匹配,我需要知道用户搜索的技能是什么)

问题:有什么方法可以解决此问题(例如:将自定义“描述”与有关搜索查询标记的信息一起解析到 _explanation)?

预期结果:
{
description: "weight(Synonym(skills:innovation skills:disruption)),
value: 3.0988
customDescription: 'innovation'
}

最佳答案

也许您可以将原始查询放在_name字段中?

就像https://qbox.io/blog/elasticsearch-named-queries中解释的那样:

GET /_search
{
"query": {
"query_string" : {
"default_field" : "skills",
"query" : "disruption",
"_name": "disruption"
}
}
}

然后,您可以在返回对象的 matched queries部分中找到原始查询:
{
"_index": "testindex",
"_type": "employee",
"_id": "2",
"_score": 0.19178301,
"_source": {
"skills": "disruption"
},
"matched_queries": [
"disruption"
]
}

explain添加到解决方案中,我认为它可以正常工作...?

关于elasticsearch - Elasticsearch |如何获得具有相应匹配值的原始搜索查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57290666/

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