solr 在多條件查詢時輸入特殊字元發生不匹配現象

2021-09-01 08:15:12 字數 907 閱讀 4157

舉例:就兩個字段

fild

type

discription

title

ik中文分詞器

標題cityid

plong

所在城市

在查詢的時候如果q =

title:。。
這種特殊字元句號啊什麼的查出來是空的。這是符合我的要求的。

在查詢的時候如果q =

title:公尺老鼠 and cityid:110000
查詢含有關鍵字「公尺老鼠」且cityid是110000的情況。這個能查出來就查出來,查不出來就是空,符合我的要求的。

在查詢的時候如果q =

title:.... and cityid:110000
查詢含有關鍵字「...」且cityid是110000的情況。這就不對了。經過測試,如果title的內容無法被中文分詞器解析的話,就會自動忽略本條件,變成了只查cityid:110000。

為什麼不返回空的呢?真是的。

目前解決是

q=title

fq=cityid

2019.1.24

q裡面如果某個條件解析器無法解析出結果,則自動忽略該條件,

上述解決的腦解原理是:如上所屬:q = title:"...." 最終忽略掉變成了q="",注意這裡是q="",而不是q="*:*",所以根本查不到,更別提fq的過濾器了。

q會忽略但fq裡不會忽略,所以也可以fq=title&cityid

---------另外q裡還有需要注意的地方,ik分詞器可能會把乙個詞分成兩個詞,比如:老鼠=老+鼠,那麼搜尋title:老鼠 的時候就變成了 「title:老 or title:鼠 ,這裡需要加上雙引號就能避免這個問題:title:"老鼠"

在Oracle中輸入「 」特殊字元

在oracle中,由於有一些特殊字元,所以如果我們輸入字串中遇到這些特殊字元而直接輸入的話,sql語句會出現錯誤,這裡說一些oracle中 這個字元如何輸入。這個字元在oracle中的意思是指定引數,如果直接用在sql語句中,比如說 select from test table where cola...

在Excel中輸入特殊字元

使用鍵盤輸入字元 如果你了解每個字元的數字編號,你可以通過鍵盤直接輸入這些特殊字元,方法是按住alt鍵,然後在小鍵盤中輸入4個數字編號 注意是小鍵盤上的數字鍵,而不是大鍵盤上的數字鍵 字元的數字編號通常都只有三位,但是我們在輸入的時候必須輸入一位前導數0。例如英鎊符號的數字編號是163,按住alt鍵...

jsp頁面15個輸入條件框 多條件模糊查詢方法

1.在action中 1.1 封裝 jsp頁面表單屬性 private string taxpayerid private string taxpayernumber private string taxpayername private string dealaddress private str...