Solr Demax和eDiscoveryMax返回不同的结果

Solr Demax和eDiscoveryMax返回不同的结果,solr,lucene,edismax,dismax,Solr,Lucene,Edismax,Dismax,我正在为我的网站使用Solr。文档有两个字段:类型和主题。例如,如果我想搜索一本关于爱情的小说,那么solr查询将是tyepDef=demax&qf=genre,topic&q=genre:novel和topic:about love。但是,这不会返回任何结果。但是,如果使用edismax,则返回主题以“about”开头的所有文档。这是两个不同的极端,没有或全部。我如何配置我的查询,以便能够准确地返回满足类型:小说和主题:关于爱情的文档 我想,由于类型是固定的,您不应该在类型字段上查询。 您应该

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

我想,由于类型是固定的,您不应该在类型字段上查询。
您应该在类型字段上进行筛选。
e、 g.fq=genre:novel,这将比普通搜索快得多


主题是一个内容字段,然后可以作为普通查询进行搜索
q=topic:about
,或者当您已经在使用Demax/eDisk时,可以使用
q=about&qf=topic
Demax
不支持这样的字段查询:
类型:novel
。而是将其配置为在某些字段上搜索:

q=novel about love&qf=genre,topic&defType=dismax
扩展的Demax处理程序(edismax)支持指定字段