我在我的网站上使用Solr。该文件有两个字段:流派和主题。例如,如果我想搜索关于爱情的小说,那么solr查询将是tyepDef = dismax& qf = genre,topic& q = genre:novel AND topic:about love。但是,这不会返回任何结果。但是,如果我使用edismax,则返回主题以“about”开头的所有文档。这是两个不同的极端,没有或全部。如何配置我的查询以确保满足两种类型的文档:小说和主题:关于爱将被退回?
答案 0 :(得分:0)
我认为由于类型是固定的,你不应该在类型字段上查询 你应该过滤类型字段 例如fq =流派:小说,这将比正常搜索快得多。
主题是内容字段,然后可以作为普通查询q=topic:about
进行搜索,或者当您使用dismax / edismax时,您可以使用q=about&qf=topic
答案 1 :(得分:0)
dismax
不支持这样的字段查询:genre:novel
。而是将其配置为搜索某些字段:
q=novel about love&qf=genre,topic&defType=dismax
扩展的dismax处理程序(edismax)支持指定字段。