我正在使用solr进行搜索。我想根据以前搜索过的条款提高搜索结果质量。假设我的索引中有两个名为'Jewelry Crystal'
的产品(说它属于第1组)& 'Compound Crystal'
(说它属于第2组)。现在,如果我们查询'Crystal'
,那么两种产品都会来。
如果我之前搜索了'Jewelry Ornament'
,那么我会搜索'Crystal'
,然后我希望只有一个结果('Jewelry Crystal')
。没有必要向任何寻找'Compound Crystal'
类型产品的人展示jewelry
产品。
SOLR中是否有任何方式来履行这种行为,或者是否有其他方法可以实现这一目标。
答案 0 :(得分:0)
首先,Solr没有内置任何内容来实现这个目标。您需要的是某种用户会话,Solr不支持这种用户会话,或者像cookie那样的客户端存储或前面的查询。
但要获得upvote,您可以使用运行时Boost查询。 假设您正在使用edismax QueryParser,您可以将以下内容添加到Solr查询中:
q=Crystal&boost=bq:(Jewelry Ornament)
请参阅http://wiki.apache.org/solr/ExtendedDisMax#bq_.28Boost_Query.29