我正在使用Solr在我的目录中搜索产品。 我试图从“书籍”类别的产品中得分较低,但没有成功。 我也尝试过滤“书籍”类别的结果,但我仍然得到它们,所以我认为我做错了。 “类别”字段已编制索引。
这是我做过的一次尝试(在许多其他尝试中):
http://localhost:8080/solr/collection1/query?q=iphone+4s&rows=4&fq=price:[*+TO+500]&debugQuery=on&fq=not(query(category:Books))
我也尝试过使用bf参数对“书籍”产生负面影响,但仍然没有运气。
当我拥有“图书”和其他类别时,我该怎么做才能降低分数?以及如何使用特定类别过滤结果?
答案 0 :(得分:1)
您可以尝试将以下代码附加到您的请求中: -
&bq=(*:* -category:Books)^1000000
数字1000000指定了一个非常大的数字,它将增强那些类别不是书籍的记录。
因此,您的代码变为: -
http://localhost:8080/solr/collection1/query?q=iphone+4s&rows=4&fq=price:[*+TO+500]&debugQuery=on&bq=(*:* -category:Books)^1000000
要过滤具有特定类别的结果,请将以下代码附加到您的请求中: -
&fq=category:Books
以上将显示所有类别为图书的记录。
要获取类别不是Books的所有记录,请尝试以下操作: -
&fq=(*:* -category:Books)