gpt4 book ai didi

search - Solr接近度有序与无序

转载 作者:行者123 更新时间:2023-12-04 22:51:44 26 4
gpt4 key购买 nike

在 Solr 中,您可以使用语法执行有序的邻近搜索

"word1 word2"~10

按顺序,我的意思是 word1 将始终出现在文档中的 word2 之前。我想知道是否有一种简单的方法来执行无序的邻近搜索,即。 word1 和 word2 出现在彼此的 10 个单词之内,哪个先出现并不重要。

一种方法是:
"word1 word2"~10 OR "word2 word1"~10

上面的方法可行,但如果可能的话,我正在寻找更简单的方法。

最佳答案

Slop 表示可以发生多少个单词换位。所以“a b”将与“b a”不同,因为允许不同数量的换位。

  • a foo b有位置 (a,1), (foo, 2), (b, 3)。要匹配 (a,1), (b,2) 将需要一个更改: (b,2) => (b,3)
  • 但是,要匹配 (b,1)、(a,2),您将需要 (a,2) => (a,1) 和 (b,1) => (b,3),总共三个位置机芯

  • 一般来说,如果 "a b"~n匹配某些内容,然后 "b a"~(n+2)也会匹配。

    编辑:我想我从未给出答案。我看到两个选项:
  • 如果您想要 n 的斜率,请将其增加到 n+2
  • 按照您的建议手动分离您的搜索

  • 我认为 #2 可能更好,除非你的斜率一开始就很大。

    关于search - Solr接近度有序与无序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4079388/

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