0

我正在使用 Solr 在我的目录中搜索产品。我试图为“书籍”类别的产品打低分,但没有成功。我还尝试从“书籍”类别中过滤结果,但我仍然得到它们,所以我认为我做错了什么。类别字段已编入索引。

这是我提出的请求的一次尝试(在许多其他尝试中):

http://localhost:8080/solr/collection1/query?q=iphone+4s&rows=4&fq=price:[*+TO+500]&debugQuery=on&fq=not(query(category:Books))

我还尝试使用对“书籍”产生负面影响的 bf 参数,但仍然没有运气。

当我有“书籍”和其他类别时,我应该怎么做才能降低分数?以及如何过滤特定类别的结果?

4

1 回答 1

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

以上将显示类别为书籍的所有记录。

要获取类别不是书籍的所有记录,请尝试以下操作:-

&fq=(*:* -category:Books)
于 2012-12-31T15:58:59.757 回答