2013-01-23 38 views
0

我搜索遊戲「質量效應2」Solr的:僅排除號碼匹配

http://localhost:8085/solr/select/?defType=edismax&qf=title&q=Mass+Effect+2&mm=1 

除了「質量效應2」和「攤牌效應」找到像「無主之2」的事情,「原型2「以及其他名稱中含有」2「的遊戲。所以我想排除只匹配「2」的文檔。

title場被定義爲:

<field name="title" type="text" indexed="true" stored="true" multiValued="false" /> 
+0

是怎樣的「稱號」的個數的念頭在schema.xml中定義的字段? – Max

+0

我更新了我的問題 –

+0

我認爲Max意味着字段定義和字段類型定義。 FieldType是告訴你的文本如何分解成標記的。 –

回答

1

這不是一個確切的答案,而是一個簡單的答案,可以爲你的情況確定。您可以使用最小匹配參數和edismax查詢解析器,因此如果查詢中有一個數字,您可以增加數字並以2爲例。

http://wiki.apache.org/solr/DisMaxQParserPlugin#mm_.28Minimum_.27Should.27_Match.29

考慮在帳戶,而不是僅排除號碼,使用情況下,可以說是「用一個參數只是爲了提高」,你可以重寫查詢,並使用嵌套的一個比分。 爲writen在:http://searchhub.org/2009/03/31/nested-queries-in-solr 您的查詢可以writen

text:Mass Effect OR query:"{!dismax mm=2 }Mass effect 2" 

它使沒有數量的查詢,包括作爲嵌套查詢助推數字

+0

請考慮以下查詢:「質量效應2」。根據你的回答,我應該設置mm = 2。然後solr不會找到「攤牌效應」,因爲沒有術語「2」或「Mass」。所以基本上我需要solr只考慮單詞,而不是數字。無論如何感謝 –

+0

這就是爲什麼我說這可能是好的,也許如果這個號碼是不需要的,爲什麼包括在搜索?你可以忽略它,只用「質量效應」搜索就會有預期的結果。 有時候,如果你轉換視角,在哪種情況下你想要考慮這個數字會更容易? – Jokin

+0

我在數據庫中有「質量效應」,「質量效應2」和「質量效應3」。我首先想成爲「質量效應2」。如果我從搜索查詢中刪除號碼,「質量效應」是最佳匹配。我不需要這個號碼,但只有當它與查詢中的其他詞語一起出現時。 –

0

請問「pf的」這句話提升,而不是引用短語搜索給你一個更好的結果呢?它說與所有元素接近,不一定是相同的順序。

+0

'pf'對這些文件起到了促進作用,但它並沒有削減無關的文件。無關我指的是僅包含查詢中一位數字的文檔。我試圖按比分過濾,但是當使用'pf'a時,文檔'Mass Destruction'和'Borderlands 2'具有大致相同的分數 –