【问题标题】:dismax and edismax returns different resultsdismax 和 edismax 返回不同的结果
【发布时间】:2013-06-17 01:18:58
【问题描述】:

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

【问题讨论】:

    标签: solr lucene edismax dismax


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-24
        • 1970-01-01
        • 2020-02-15
        相关资源
        最近更新 更多