0
我是Solr的新手。Solr用單個圓形支架搜索不起作用
我試圖搜索包含單個圓括號'('或')'的記錄。
搜索記錄查詢如下:
q=((name: (*\(abc*)))
上述查詢打破了Solr的搜索。
value = value.replace(/([()])/g, '\\$1');
可有人請幫助解決此問題:
我通過以下的正則表達式轉義字符()?
我是Solr的新手。Solr用單個圓形支架搜索不起作用
我試圖搜索包含單個圓括號'('或')'的記錄。
搜索記錄查詢如下:
q=((name: (*\(abc*)))
上述查詢打破了Solr的搜索。
value = value.replace(/([()])/g, '\\$1');
可有人請幫助解決此問題:
我通過以下的正則表達式轉義字符()?
我不是很好的正則表達式,所以我不能辨別什麼是發生的事情,但是這Solr的查詢應該工作:
q=name:*\(abc*
做它沒有?
正如你所看到的in the lucene doc,如果你搜索它,你的查詢中唯一需要轉義的字符是(。)。但我理解你的例子中的所有)只是語言的一部分。
基本上尋找包含帶括號的查詢。 –
「打破索爾搜索」是什麼意思?崩潰,錯誤,零點擊? @Persimmonium建議的查詢很好,所以您的問題可能是您的分析器刪除了括號。通過執行'name:known \'單詞'搜索',後跟'name:known \'單詞*'來檢查。如果最後一個命中不了,你的分析器可能會刪除')'。你也可以通過GUI中的_Analysis_來完成,它會告訴你更多的信息(也許會更令人困惑)。 –
正如我從你的問題所理解的,你只需要'('或')'而不是兩個。以下查詢將用於'name:* \(* OR name:* \)* NOT name:* \(* \)*' –