gpt4 book ai didi

Solr 相关性搜索提升

转载 作者:行者123 更新时间:2023-12-02 05:30:13 26 4
gpt4 key购买 nike

我正在使用 Solr 5.0.0,我在相关性提升方面有一个问题:

如果我搜索laptop table之类的单词,有什么方法可以提高结果搜索单词之前的单词,例如withwithout等等

我使用了这个查询:

? defType = dismax 
& q = foo bar
& bq = (*:* -by)^999

但是,这会对那些含有 bywith 等单词的文档产生负面影响。我怎样才能避免这个问题?

例如,如果我搜索笔记本电脑表,那么通过上述查询,结果DGB Cooling Laptop Table by GDB将不会提升。

我只需要在某些词之前增强搜索词,例如 bywith 等。可能吗?

最佳答案

在您的示例中,您希望 ...laptop table by... 结果的得分高于没有 bylaptop table 结果。并且您希望完全省略 ...bylaptop table...

让我们称呼他们:

  • Q1:...笔记本电脑表...(让我们在练习中增加 2)
  • Q2:...笔记本电脑表...(我们根本不提升)
  • Q3:...通过笔记本电脑 table ...(我们想省略此)

因此,您在摘要中的查询是:(Q1^2 OR Q2) NOT Q3

dismax 解析器可能会因为为您做太多事情而模糊了您的目标。至少对于这一部分,您应该考虑使用标准(Lucene)查询解析器:

`q=("laptop table by"^2 OR "laptop table") NOT "by laptop table"`

如果您想允许溢出(即查询和“by”或“with”之间的额外单词)并保留上述术语的顺序,您应该查看ComplexPhraseQueryParser(Solr 4.8+) Yonik Seeley has a nice post about this.

然后你可以这样做:

`q=({!complexphrase inOrder=true}"laptop table by"~2^2 OR "laptop table") NOT {!complexphrase inOrder=true}"by laptop table"~2`

关于Solr 相关性搜索提升,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31199620/

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