2017-03-16 77 views
0

什麼是dismax查詢解析器以及如何使用它。我只想通過匹配百分比在solr中的字段中搜索字符串。如何使用它來完成這項工作。請舉例說明如何使用dismax查詢解析器。 我有以下文件。我剛拿到這與q=Jain Nagar Bla Bla如何在solr中使用disMax查詢解析器

{ 
    "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

嘗試mm(最小匹配)dismax解析器的參數。

它具有很大的靈活性來指定整數或百分比毫米參數。

例子:

考慮3個文檔

DOC1:複製的iPod,DOC2:iPod的蘋果,doc3的:iPod電纜

比方說查詢ipod apple。它檢索文檔如果它有ipodapple或兩者。所以我們得到3個結果。

如果我們使用毫米= 2 dismax解析器

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

它取文檔的2個字最低匹配,在查詢ipod apple指定。 如果doc只有一個術語(比如說'ipod'),那麼它不會被返回結果。

在結果我們得到的只有一個文檔,即

DOC2

還可以指定百分比值mm參數(如75%或-25%)

瞭解更多詳情檢查Here

希望這會有所幫助,vinod

+0

我在具有不同地址值的文檔中具有字段地址。我正在嘗試這個查詢。並且查詢就像'solr/orders/select?q = Jain%20Nagar&defType = dismax&indent = on&mm = 2&pf = address&qf = address'它什麼也沒有返回,但是我有'H.No. 444,Gali No.2 Jain Nagar'在文件的地址欄中。我想要做的就是進行部分搜索。這意味着如果查詢中的某些字詞在地址字段中匹配,我想要顯示它們 –

+0

檢查地址字段及其類型定義的模式文件。是它設置指數=真。什麼分析儀用於該fieldType? – vinod

+0

其類似於'' –