簡體   English   中英

為什么在“檢索和排序Solr”查詢中不能出現冒號?

[英]Why can't I have a colon in a Retrieve and Rank Solr query?

如果我向檢索和排名(Solr)發送自然語言查詢,則如果查詢包含冒號,它將返回錯誤。 似乎正在嘗試將冒號之前的單詞解釋為字段名稱。

有什么辦法可以防止這種情況,還有其他我應該注意的字符嗎?

您需要處理的字符列表位於http://www.ibm.com/watson/developercloud/doc/retrieve-rank/plugin_query_syntax.shtml-它位於頁面底部“保留字符”標題下。 (這還包括如何處理它們)

這些包括:

冒號(:)
用反斜杠轉義查詢中的冒號。

雙引號(“)
查詢中的雙引號轉義,在字段查詢中帶有反斜杠。

反斜杠(\\)轉義字符
用另一個反斜杠在查詢中轉義一個反斜杠。

您必須逃避冒號-如果您的Solr庫沒有為您自動做到這一點。 與其他大多數情況一樣,轉義使用\\ ,因此foo\\:bar應該起作用。 另一種選擇是將值包裝在引號中( field:"foo:bar" )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM