我的团队正在使用 Solr,我对此有疑问。
有一些搜索词没有提供相关结果或应该显示的结果。例如:
我们如何改进和优化此类案例,使其适用于所有情况,甚至适用于我们没有从上述 3 种情况中区分出来的情况?
有什么建议么?
所有这些问题都与您如何处理这些字段的传入文本有关。您必须为该字段创建一个过滤器链 - 并且可能针对不同的用例使用多个字段并优先使用这些字段qf
- 处理输入值以执行您想要的操作。
您的第一种情况可以通过使用 PatternReplaceFilter 删除任何撇号来解决 - 根据您的用例和标记器,您可能希望使用 CharFilter 版本,因为它在将文本拆分为多个标记之前处理文本。
您的第二种情况是直接的同义词过滤器或 WordDelimiterFilter,您可以在其中将 JPMorgan 扩展为“JP Morgan”,或者使用 WordDelimiterFilter 将大小写更改扩展为单独的标记。这也将允许您搜索JP
和获取JPMorgan
相关条目。这些可能对分数有不同的影响,用于debugQuery=true
查看查询中的每个术语对分数的影响。
第三种情况大体上与第二种情况相同。您必须为所使用的术语创建一个合适的同义词列表,这通常是您在从用户、现有词典和领域知识获得反馈时构建的内容。还可以选择使用 NLP 对文本进行预处理,或者在这种情况下,将任何大写单词的首字母依次编入索引可能会有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句