gpt4 book ai didi

elasticsearch - ElasticSearch可以在首次比赛搜索中停止吗?

转载 作者:行者123 更新时间:2023-12-03 00:41:19 24 4
gpt4 key购买 nike

假设我的文档格式如下:

doc #1

A: 1
B: 2
C: 3

doc #2

A: 4
B: 1
C: 8

因此,用户输入将为1。我对A,B和C进行了multi_match查询。我想将A作为主要对象,因此我对其进行了提升(目前为5)。一切正常,所有A:1的文档升至顶部。

但是,鉴于上述两个文档,输入“1”将返回两个文档。我希望搜索工作的方式是将A设置为优先级字段,如果在该字段中找到值,则我想忽略其他两个字段。

如果未找到A:1,那么我想搜索B&C作为备用。

flex 搜索有为此的机制吗?

以下是输入= 1的情况
  • 返回所有A:1个文档...如果只有一个,则完成
  • (如果没有):A:1个文档,或多个A:1个文档,还包括B:1和C:1个文档
  • 最佳答案

    Elasticsearch不支持此类功能。即使这样做,也不会比您对A运行第一个查询要好得多,并且如果它没有返回任何从客户端对B和C运行第二个查询的东西,那将不是最佳选择。

    在Elasticsearch中,搜索分布在多个分片中,并且特定分片未找到文档这一事实并不意味着该文档在其他分片中不存在。因此,要在Elasticsearch中实现它,我们必须先对A执行查询,检查它是否不返回任何内容,然后对B和C执行查询。将其移至客户端只会在客户端之间添加一个额外的跃点以及该过程的elasticsearch节点。除此之外,它几乎相同。

    关于elasticsearch - ElasticSearch可以在首次比赛搜索中停止吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38254642/

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