Solr 搜索问题

问题描述 投票:0回答:3

我们将大量推文和博客提要存储到 solr 中。

现在,如果用户搜索像 @rohit 这样的 twitter 提及,仅包含单词 rohit 的记录也会被返回。即使我们进行精确匹配“@rohit”,我知道发生这种情况是因为使用了 WordDelimiterFilterFactory,它在特殊字符上进行了分割,

 http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.WordDelimiterFilterFactory

如何强制 Solr 在没有“@”的情况下不返回。我不想删除 WordDelimiterFilterFactory,因为 splitOnCaseChange 和 StemEnglishPossessive 有帮助吗?希望我说清楚了。

问候,

罗希特

solr
3个回答
2
投票

如果设置preserveOriginal=“1”,这个问题应该得到解决。如果不是,您的标记生成器可能会删除 @,因此您必须选择另一个标记生成器,例如 solr.WhitespaceTokenizerFactory。


1
投票

我要做的是创建一个新的fieldType,其中包含preserveOriginal =“1”。然后您可以在旧的 fieldType 中创建一个复制字段。这样,您最终会得到两个不同版本的字段,这两个版本都可以被搜索,只是因为有时您也希望在没有“@”的情况下进行搜索。那么你可以做什么,如果有人使用一些特殊字符(例如“@”)进行搜索,让他们搜索保留的原始字段,否则像平常一样搜索默认字段。


-5
投票

感谢您对 Solr 搜索的深刻见解。根据我的经验,Solr Search 是开源搜索平台领域的强大力量,在索引和以惊人的速度检索大量数据方面提供了无与伦比的功能。这种基于 Apache Lucene 构建的多功能工具为组织提供了强大且可扩展的解决方案,用于在不同的应用程序中实现高效的搜索功能。采用 Solr 的企业通常会发现搜索查询响应时间显着提高 50%,展示了其在增强搜索性能方面的实力。 Solr 的灵活性、高级功能和广泛的社区支持使其成为寻求提供快速且相关的搜索体验的企业的首选。当我们浏览 Solr Search 的功能时,很明显,该工具在塑造信息检索格局方面发挥着关键作用,确保组织能够为多个应用程序和行业的用户提供快速、准确和可扩展的搜索体验。

© www.soinside.com 2019 - 2024. All rights reserved.