gpt4 book ai didi

elasticsearch - 如何在查询中使用词组提示结果

转载 作者:行者123 更新时间:2023-12-03 00:36:05 25 4
gpt4 key购买 nike

花了很长时间阅读文档和各种网站。我不明白应该如何使用词组建议程序来影响查询的结果。我的理解是,运行以下查询和建议程序,建议程序的结果将用于查询。

        POST test/test/_search
{
"query": {
"multi_match": {
"query": "anti-inefffective",
"fields": ["*@value"]
}
},
"highlight" : {
"fields" : {
"*@value" : {
"pre_tags" : ["<mark>"],
"post_tags" : ["</mark>"]
}
}
},
"suggest" : {
"text" : "anti-inefffective"",
"simple_phrase" : {
"phrase" : {
"analyzer" : "default",
"field" : "_all",
"size" : 1,
"real_word_error_likelihood" : 0.95,
"max_errors" : 0.5,
"gram_size" : 2,
"direct_generator" : [ {
"field" : "_all",
"suggest_mode" : "always",
"min_word_length" : 1
} ],
"highlight": {
"pre_tag": "<em>",
"post_tag": "</em>"
}
}
}
}
}

如何在json请求中将建议者的结果全部用于查询字词?我看过的所有示例在查询后都执行了提示者短语,这对我来说似乎很奇怪。我可以看到的唯一方法是运行短语建议查询,然后提取值,然后以编程方式将其添加到查询中,然后使用建议的文本运行查询。

换句话说,我希望能够做Google的工作,如果您在Google中输入“cancerous tummour”,它将返回“cancerous tumour”的结果,但您可以选择使用不正确的短语,但更正后的短语会自动用于查询。

最佳答案

当与collate参数一起使用时,您应该看看短语提示器的query + confidence选项。

短语建议程序工作流如下所示:

  • 根据以下内容建议canceroustummour的候选词
    传递给候选生成器部分的参数。
  • 使用术语生成许多“mad-lib”短语建议
    候选词,将词组的词频组合为
    为每个建议生成分数。
  • 使用collat​​e / match选项,实际上对每个候选者运行
    在查询模板(由您,查询作者定义)中
    带有零结果的查询可以被丢弃。


  • 为了模拟您描述的Google功能,在运行用户查询时,您还需要:
  • 使用短语建议者为原始用户输入查询生成#1 "size": 1,得分最高,整理/非零结果短语建议。
  • 使用默认的"confidence": 1.0,与原始用户输入查询相比,词组建议者只会给您一个建议者,使建议者认为其具有较高的置信度。
  • 当您看到(较高置信度)建议与原始查询结果一起返回时,您的客户可以决定接受建议并执行建议的查询来代替原始查询(同时保留原始查询文本以显示)作为后备搜索选项)。


  • 简短答案:没有选项可以自动将Elasticsearch中的最高建议用作查询文本。但是您可以使用短语建议器当前提供的功能在搜索客户端中进行构建。

    关于elasticsearch - 如何在查询中使用词组提示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33575068/

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