目前在搜索" Iphone"在我们的solr中 -
结果是 -
是否有一种方法只有在solr输入查询中有单词" Cover"时才显示封面结果。在它?
答案 0 :(得分:0)
您需要更改fieldType
field
的使用情况(您正在执行搜索的字段)。
如果您想要完全匹配,请将字段的fieldType
更改为String
。
您还可以使用' KeywordTokenizerFactory
'
KeywordTokenizerFactory
: -
Keyword Tokenizer根本不分割输入。 没有对输入字符串执行处理,并且整个字符串保持为单个实体。 这实际上并没有做任何标记化。它将原始文本作为一个术语返回。
答案 1 :(得分:0)
您正在遇到电子商务网站的典型问题:当配件产品通常不是用户搜索的目标时(但有时它们是!),配件产品会出现在所有地方,对结果进行聚类。
理想的解决方案:
你有一些像isAccessory这样的领域,并对其产生负面影响,当用户真正搜索配件时,让得分最佳匹配。或者,如果你在查询中检测到一个附属词,那么就不要应用负增强(提出该列表很有价值,而且不是很难:封面,案例,充电器......)
当您抓取数据等时,这是不可能的
所以,要解决这个问题,你可以:
如果您可以提供训练数据,在Solr中训练模型,并将其设置为UpdateRequestProcessor,那么您在索引时会自动填充isAccessory。
如果你不能做到这一点,作为最后的手段,你可以消极地提升所有附件条款'当查询中没有附件术语时。