gpt4 book ai didi

solr - Solr中的多词同义词搜索

转载 作者:行者123 更新时间:2023-12-03 15:46:31 24 4
gpt4 key购买 nike

我正在尝试使用同义词过滤器来搜索短语。

peter=> spider man, spiderman, Mary Jane, .....

我使用默认配置。当我把这些同义词放入 synonym.txt并重新启动 Solr 似乎只能部分工作:它开始搜索 "spider" , "man" , "spiderman" , "Mary""Jane"但我要搜索的是有意义的组合 - 比如 "spider man" , "Mary Jane""spiderman" .

最佳答案

是的,很遗憾,这是一个众所周知的问题,因为 Solr 查询解析器在分析之前如何分解空白。因此,不是在 token 流中在“人”之前看到“蜘蛛”,而是简单地单独查看每个单词。只是“蜘蛛”之前/之后什么都没有,只是“人”之前/之后什么都没有。

这是因为大多数 Solr 查询表单将空格视为基本上是“OR”。搜索“spider OR man”而不是查看全文,对其进行分析以生成同义词,然后从中生成查询。

有关更多背景信息,请访问 this blog post

这个问题有很多解决方案,包括:

  • hon-lucene-synonyms .这个插件在对多个字段生成 edismax 查询之前运行一个分析器。它有点像一个黑匣子,我发现它可以生成一些复杂的查询表单,从而产生奇怪的性能和相关性错误。
  • Lucidwork's autophrase query parser通过选择性地自动短语,这个插件可以让你指定不应该被分解成 OR 查询并且可以应用同义词扩展的关键短语(蜘蛛侠)
  • 开源连接的 Match query parser .在搜索字段之前使用查询指定的分析器运行搜索单个字段。还搜索多词同义词作为短语。我最喜欢的,但免责声明:我是作者:)
  • Rene Kriegler 的 Querqy -- Querqy 是一个用于查询预处理规则的 Solr 插件。这些规则可以识别您的关键短语并将查询重写为非多词形式。
  • 自己动手:学习自己编写 query parser plugin并随心所欲地处理问题。
  • 关于solr - Solr中的多词同义词搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29680278/

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