2015-10-14 78 views
2

我通過Scorched查詢Solr 5.3與Django的實例。這一切都很好,只要我不要求精確匹配查詢。換句話說,Solr逃脫雙引號/精確匹配(Django通過Scorched/Sunburnt)

q=something something else 

返回完全相同的結果爲:

q="something something else" 

的罪魁禍首,據我所看到的,是Django的拋出在Solr的實際查詢。事實上,對於第二種情況是這樣的:

q=\"something\+something\+else\" 

因此,換句話說,在「字符轉義我說得對我怎麼告訴Solr的,當我查詢雙引號之間的事情我想要一個確切的?比賽?

在Solr管理網頁,這一切運作良好,也就是說,如果我搜索「一些別的東西」我得到正確的結果。

我不知道這是一個燒焦/曬傷的問題或不。它與濾鏡/標記器(例如solr.MappingCharFilterFactory)有什麼關係嗎?

感謝

回答

0

我已經在Github上收到這從燒焦的人:

from scorched.strings import DismaxString ... solr.query(q=DismaxString('"something something else"')

燒焦不會逃脫DismaxString內的任何字符....

希望它能幫助其他人。