Solr:结果优化

时间:2017-06-27 02:37:33

标签: solr

目前在搜索" Iphone"在我们的solr中 -

结果是 -

  1. Iphone Cover
  2. Iphone Cover
  3. Iphone 7
  4. Iphone 7s
  5. 是否有一种方法只有在solr输入查询中有单词" Cover"时才显示封面结果。在它?

2 个答案:

答案 0 :(得分:0)

您需要更改fieldType field的使用情况(您正在执行搜索的字段)。

如果您想要完全匹配,请将字段的fieldType更改为String

您还可以使用' KeywordTokenizerFactory'

KeywordTokenizerFactory: -

Keyword Tokenizer根本不分割输入。 没有对输入字符串执行处理,并且整个字符串保持为单个实体。 这实际上并没有做任何标记化。它将原始文本作为一个术语返回。

答案 1 :(得分:0)

您正在遇到电子商务网站的典型问题:当配件产品通常不是用户搜索的目标时(但有时它们是!),配件产品会出现在所有地方,对结果进行聚类。

理想的解决方案:

  • 你有一些像isAccessory这样的领域,并对其产生负面影响,当用户真正搜索配件时,让得分最佳匹配。或者,如果你在查询中检测到一个附属词,那么就不要应用负增强(提出该列表很有价值,而且不是很难:封面,案例,充电器......)

  • 当您抓取数据等时,这是不可能的

所以,要解决这个问题,你可以:

  1. 如果您可以提供训练数据,在Solr中训练模型,并将其设置为UpdateRequestProcessor,那么您在索引时会自动填充isAccessory。

  2. 如果你不能做到这一点,作为最后的手段,你可以消极地提升所有附件条款'当查询中没有附件术语时。