如何在solr中使用disMax查询解析器

时间:2017-03-16 12:32:25

标签: solr scoring dismax

什么是dismax查询解析器以及如何使用它。我只是想通过匹配百分比在solr中的字段中搜索字符串。如何使用它完成这项工作。请举例说明如何使用dismax查询解析器。 我有以下文件。我只想获得与q=Jain Nagar Bla Bla

完全匹配或部分匹配的文档
{
   "id":"2",
   "shipping_firstname":"Sudhanshu",
   "address":"H.No. 444, Gali No.2 Jain Nagar",
   "date_added":"2017-01-21T14:15:15Z",
   "_version_":1562029999829024768}]
}

我正在使用此查询

select?q=Jain Nagar&defType=dismax&m‌​m=2&pf=address&qf=ad‌​dress

为什么它没有给出任何结果。

1 个答案:

答案 0 :(得分:1)

尝试使用dismax解析器的mm(最小匹配)参数。

它可以非常灵活地指定整数或百分比到mm参数。

示例:

考虑3个文档

  

doc1:复制ipod,doc2:ipod apple,doc3:ipod cable

让我们说查询ipod apple。如果文档有ipodapple或两者都有,则会检索文档。所以我们得到3个结果。

如果我们使用mm = 2和dismax解析器

http://localhost:8983/solr/collection_name/select?indent=on&q=ipod apple&wt=json&defType=dismax&mm=2

它获取在查询ipod apple中指定的2个单词的文档最小匹配。 如果doc只有一个术语(比如'ipod'),它就不会在结果中返回。

结果我们只得到一个文件,即

  

DOC2

还可以指定mm参数的百分比值(例如75%或-25%)

有关详情,请查看Here

希望这有帮助,vinod