【问题标题】:solr dismax identify phrase matchsolr dismax 识别短语匹配
【发布时间】:2012-10-02 09:33:06
【问题描述】:

我正在使用 edismax 查询处理程序在文本字段中搜索“我想要本田自行车”。

我的目的是找出其中包含“本田自行车”的文档。

现在结果包含“honda”、“bike”和“honda bike”。基本上我对“本田”和“自行车”不感兴趣。我其实对“本田自行车”很感兴趣。

有什么方法可以识别字段中的短语是否与用户查询匹配?

【问题讨论】:

    标签: solr lucene edismax


    【解决方案1】:

    我会调查这些参数——pf、pf2 和 pf3。

    pf -- 短语字段。这将让您提升与您的 q 值非常接近的文档。

    pf2 和 pf3 - 将输入切分为二元组(或三元组)。

    还有一些 slop 设置可以在匹配中留出一些余地。

    http://wiki.apache.org/solr/ExtendedDisMax#pf_.28Phrase_Fields.29

    【讨论】:

    • ya pf2 pf3 将使 doc 名列前茅..但我怎么知道是什么让这个 doc 名列前茅..是因为 qf、pf、pf2、pf3 吗?
    【解决方案2】:

    问题是 IDF 扰乱了得分,因此我不能完全依靠得分来自信地说出完美匹配的内容。 所以我禁用了 IDF 计算。

    看看

    http://lucene.472066.n3.nabble.com/Identify-exact-search-in-edismax-td4011859.html#a4011976

    【讨论】:

      【解决方案3】:

      这里可以使用 edismax 的 mm(最小“应该”匹配)功能

      http://wiki.apache.org/solr/ExtendedDisMax

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多