0

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

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

4

1 回答 1

1

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

它具有很大的灵活性,可以将整数或百分比指定为 mm 参数。

例子:

考虑 3 个文档

doc1:复制 ipod,doc2:ipod apple,doc3:ipod 电缆

让我们说查询ipod apple。如果它有一个或两个术语,它会检索ipod文档apple。所以我们得到3个结果。

如果我们将 mm=2 与 dismax 解析器一起使用

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

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

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

文档2

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

有关更多详细信息,请查看此处

希望这会有所帮助,维诺德

于 2017-03-16T13:46:30.670 回答