Search 相关性的内部搜索优化
我的团队正在使用Solr,对此我有一个问题 有一些搜索词没有给出相关的结果或应该显示的结果。例如:Search 相关性的内部搜索优化,search,optimization,solr,nlp,search-engine,Search,Optimization,Solr,Nlp,Search Engine,我的团队正在使用Solr,对此我有一个问题 有一些搜索词没有给出相关的结果或应该显示的结果。例如: 搜索没有像“Macys”这样撇号的梅西百货不会返回任何梅西百货的结果 搜索摩根大通和摩根大通会得到不同的结果 搜索IBM不会显示包含其全名(即国际商业机器)的结果 我们如何改进和优化这些案例,使其适用于所有案例,甚至适用于除上述3个之外我们没有发现的案例 有什么建议吗?所有这些问题都与此相关。您必须为字段创建一个过滤器链,并可能针对不同的用例使用多个字段,并使用qf对这些字段进行优先级排序,以处理
有什么建议吗?所有这些问题都与此相关。您必须为字段创建一个过滤器链,并可能针对不同的用例使用多个字段,并使用
qf
对这些字段进行优先级排序,以处理输入值以实现您的目的
第一种情况可以通过使用PatternReplaceFilter删除任何撇号来解决-根据您的用例和标记器,您可能希望使用CharFilter版本,因为它在将文本拆分为多个标记之前处理文本
第二个案例是直接的同义词过滤器或WordDelimiterFilter,您可以将JPMorgan扩展为“JPMorgan”,或者使用WordDelimiterFilter将案例更改扩展为单独的标记。这还允许您搜索JP
并获取JPMorgan
相关条目。这些可能对分数有不同的影响,请使用debugQuery=true
查看查询中的每个术语对分数的贡献
第三种情况一般与第二种情况相同。您必须为所使用的术语创建一个合适的同义词列表,这通常是您在从用户、现有词典和领域知识获得反馈时构建的。还可以选择使用NLP对文本进行预处理,或者在本例中,将任何大写单词的首字母缩写索引在彼此之后,这样做可能会有所帮助