2016-09-06 1332 views
0

我將索引可能在其全文本體中包含任何特殊/保留字符的文檔。例如 「PDF/A是可移植文檔格式的ISO標準化版本...」elasticsearch - 全文搜索帶有特殊/保留字符的單詞

我希望能夠搜索pdf/a而不必轉義正斜槓。

我應該如何分析我的查詢字符串以及我應該使用哪種類型的查詢?

+0

你可以分享你的嘗試?你的映射和查詢看起來是什麼樣的起點? – eemp

回答

0

默認的standard分析器將標記一個這樣的字符串,以便「PDF」和「A」是單獨的標記。 「A」令牌可能會被停止令牌過濾器截斷(請參閱Standard Analyzer)。因此,如果沒有任何自定義分析儀,您通常只會收到任何帶有「PDF」的文檔。

您可以嘗試使用standard分析儀創建您自己的分析儀,其中包含Mapping Char Filter。這個想法可能會在索引和查詢時間將「PDF/A」轉換爲「pdf_a」之類的東西。一個簡單的匹配查詢就可以正常工作。但這是一個非常簡單的方法,您可能想考慮如何在內容中使用「/」字符,並使用稍微複雜的正則表達式過濾器,這也不是完美的解決方案。

對不起,我完全錯過了你必須逃避角色的觀點。如果事實證明這對你沒有幫助,你能否詳細說明你的用例?