我的团队正在使用Solr,对此我有疑问。
有些搜索词不给出相关结果或应显示的结果。例如:
我们如何改进和优化此类案例,以使其适用于所有案例,甚至适用于除上述3个案例之外的案例?
有什么建议吗?
答案 0 :(得分:1)
所有这些问题都与how you process the incoming text for those fields有关。您必须为该字段创建一个过滤器链-并可能将多个字段用于不同的用例,并使用qf
优先处理这些字段-处理输入值以执行您想要的操作。
您可以通过使用PatternReplaceFilter除去所有撇号来解决第一种情况-根据您的用例和令牌生成器,您可能希望使用CharFilter版本,因为它会在将文本拆分成多个令牌之前对其进行处理。
第二种情况是简单的同义词过滤器或WordDelimiterFilter,您可以在其中将JPMorgan扩展为“ JP Morgan”,或使用WordDelimiterFilter将大小写更改扩展为单独的标记。这也将使您可以搜索JP
并获得JPMorgan
相关条目。这些可能会对分数产生不同的影响,请使用debugQuery=true
来准确查看查询中每个词对分数的贡献。
第三种情况通常与第二种情况相同。您必须为所用术语创建一个体面的同义词单词列表,通常这是在您从用户,现有词典和域知识中获得反馈时构建的。还可以选择使用NLP预处理文本,在这种情况下,可以像索引任何大写单词的首字母缩写一样原始,这可能会有所帮助。