[英]How to condense not conditions in AWS CloudSearch structured query?
[英]How to execute a structured query containing symbols in AWS Cloudsearch
我正在嘗試在 Cloudsearch 中執行結構化前綴查詢。
這是查詢參數的片段( csattribute
是文本類型)
{
"query": "(prefix field=csattribute '12-3')",
"queryParser": "structured",
"size": 5
}
我上面的查詢將導致No matches for "(prefix field=csattribute '12-3')"
。
但是,如果我將查詢更改為
{
"query": "(prefix field=csattribute '12')",
"queryParser": "structured",
"size": 5
}
然后我會得到一個我期望的結果列表。
我在簡短的谷歌搜索中沒有找到太多東西。 如何在查詢中包含-
? 需要逃避嗎? 還有其他需要轉義的字符嗎?
我通過這個 SO 問題指出了正確的方向: 如何搜索特殊符號 AWS 搜索
以下是https://docs.aws.amazon.com/cloudsearch/latest/developerguide/text-processing.html的片段
Amazon CloudSearch 中的文本處理... 在標記化期間,使用 Unicode 文本分割算法中定義的斷字規則將字段中文本的 stream 拆分為可檢測邊界上的單獨標記。
根據分詞規則,由空格分隔的字符串(例如空格和制表符)被視為單獨的標記。 在許多情況下,標點符號被丟棄並被視為空格。 例如,字符串在連字符 (-) 和 at 符號 (@) 處拆分。 但是,后面沒有空格的句點被視為令牌的一部分。
據我了解, text
和text-array
字段是根據分析方案進行標記的(在我的情況下是英文)。 文本被標記化, -
符號是一個分詞標記。
該字段不需要標記。 將索引類型更新為literal
會阻止該字段上的所有標記化,這允許我的問題中的查詢返回預期結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.