0

我正在为我的网站使用 Solr。该文档有两个字段:流派和主题。例如,如果我想搜索关于爱情的小说,那么 solr 查询将是 tyepDef=dismax&qf=genre,topic&q=genre:novel AND topic:about love。但是,这不会返回任何结果。但是,如果我使用 edismax,则会返回所有主题以“about”开头的文档。这是两个不同的极端,没有或全部。如何配置我的查询,以便返回同时满足genre:novel 和topic:about love 的文档?

4

2 回答 2

0

我想由于流派是固定的,您不应该在流派字段上进行查询。
您应该在流派字段上进行过滤。
例如 fq=genre:novel,这将比普通搜索快得多。

主题是一个内容字段,然后可以作为普通查询进行搜索,q=topic:about或者因为您已经在使用 dismax/edismax,您可以使用q=about&qf=topic

于 2013-06-17T04:04:24.177 回答
0

dismax不支持这样的字段查询:genre:novel. 相反,您将其配置为搜索某些字段:

q=novel about love&qf=genre,topic&defType=dismax

扩展的 dismax 处理程序 (edismax) 支持指定字段。

于 2016-07-18T10:41:40.660 回答