2011-04-21 19 views
3

我建立一个搜索引擎与SOLR,并且当一个短语,如“苹果”的用户搜索,我得到的结果,如:SOLR:升压的搜索词的位置在现场

婴儿食品,苹果 ... 苹果,生

我想“苹果,生”出现超前“婴儿食品,苹果”,因为这个词的苹果出现在眼前。有没有办法与SOLR做到这一点?为了在搜索词出现在前面的结果中获得更多分数?

+1

为什么Solr的,如果你正在寻找返回 “婴儿食品” 的名字苹果?你在使用同义词吗?所以问题是:如何“解除”同义词?您可以发布schema.xml的一部分 - 字段类型的类型定义,其中“apple”是其中的一部分?像http://www.ibm.com/developerworks/java/library/j-solr1/ < - 清单3 – 2011-04-21 07:29:33

回答

-1

试试Q =(现场:苹果*)^ 2或现场:苹果

其中field是场针对您正在搜索

+1

您的答案是特定于术语内容(苹果)而不是术语的位置 - 它不回答题。 – 2011-05-17 12:06:58

+0

好的苹果在这里是一个例子,这个解决方案在一开始就提升了苹果的结果。但结果将取决于该领域使用的分析仪的类型。 – Umar 2011-05-17 17:41:54

+2

问题是关于如何根据*位置*提升而非特定的期限值。所以如果我们在位置1有香蕉,你的答案是否奏效 - 不。请做一些研究,看看你能否改善答案。 – 2011-05-18 07:01:18