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

How to use disMax query parser in solr

什么是 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

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

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

给mm参数指定整数或百分比非常灵活

示例:

考虑 3 个文档

doc1: duplicate 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

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

结果我们只得到一份文档,即

doc2

也可以为 mm 参数指定百分比值(如 75% 或 -25%)

有关详细信息,请查看 Here

希望这对你有所帮助,vinod