我正在使用 Solr-5.0.0 。我正在搜索字段product_name
。
我需要添加一些规则以获得相关结果。
例如:如果我搜索
laptop
,它应该首先使用笔记本电脑返回确切的product_name
。 例如:如果我搜索
dell laptop
,它将首先返回Dell笔记本电脑,而不是Dell inspiron笔记本电脑。 with
或without
单词的结果。例如:在
laptop bag
搜索中,不应先给带包的Dell笔记本电脑或没有带包结果的Dell笔记本电脑。 如何在查询时实现这些基于规则的搜索相关结果?
我的应用程序是用Java编写的,因此赞赏Java的回答。
最佳答案
首先,您应该使用dismax或edismax查询解析器,而不是默认的解析器(lucene)。
然后,您可以使用不同的参数来提高相关性:
with
或without
单词的文档。 See here。例如:bq=(*:* -with -without)^999