-1
A
回答
0
您應該使用Pattern Replace Char Filter並將其附加到您的分析儀。
舉例來說,這將是最小的再現:
POST /hm
{
"index": {
"analysis": {
"char_filter": {
"my_pattern": {
"type": "pattern_replace",
"pattern": "(\\s+)?&(\\s+)?|(\\s+)?and(\\s+)?",
"replacement": "and"
}
},
"analyzer": {
"custom_with_char_filter": {
"tokenizer": "standard",
"char_filter": [
"my_pattern"
]
}
}
}
}
}
它將取代&
,and
可選多個空格周圍and
。所以,現在你可以檢查該分析儀的工作原理通過運行這些語句:
GET /hm/_analyze?analyzer=custom_with_char_filter&text=h%26m
GET /hm/_analyze?analyzer=custom_with_char_filter&text=h %26 m
GET /hm/_analyze?analyzer=custom_with_char_filter&text=handm
所有這些帶回很同理:
{
"tokens": [
{
"token": "handm",
"start_offset": 0,
"end_offset": 5,
"type": "<ALPHANUM>",
"position": 1
}
]
}
這意味着只要你搜索任何這些:
- HandM
- H和M
- ħ&中號
- ^h &中號
它會帶來同樣的結果。
相關問題
- 1. 分析和儀器
- 2. Tiff分析儀
- 3. 網站分析儀
- 4. Elasticsearch分析儀配置
- 5. 分析儀項目保持參考以前的分析儀
- 6. 分析儀表板戰略
- 7. 分析儀器讀數
- 8. Splint代碼分析儀C
- 9. SOLR分析儀的REST API
- 10. 擴展Sonarqube分析儀
- 11. 誤報Xcode4分析儀
- 12. MonoTouch遷移分析儀
- 13. 潛在泄漏? - 分析儀
- 14. Ndepend和其他自動代碼分析儀的感受?
- 15. Clang靜態分析儀和持續集成?
- 16. 動態二進制儀表和分析之間的區別
- 17. 字片段,列表和循環分析儀
- 18. Hadoop和分析?
- 19. FsLexYacc。用F#和Leading分析和解析#
- 20. 音調分析儀僅返回1句話的分析
- 21. 撲克手歷史分析儀
- 22. Xcode儀器:分析網絡流量
- 23. 頻譜分析儀用於輸入?
- 24. Android MVP和分析
- 25. 拆分和分析數據
- 26. ocaml分析器和詞法分析器
- 27. 詢問溫度分析儀程序c
- 28. 分析儀警告:對的UITabBarController
- 29. Xcode儀器和持久分配
- 30. 區分掃描儀和鍵盤
感謝您的快速回復!附加問題:我無法使用搜索分析器,因爲我使用了模糊搜索(H&M〜),並且它們在默認情況下不進行分析。所以我需要創建一個索引分析器?或者你看到其他的可能性? –
我認爲你仍然可以使用我給出的,然後使用[match](https://www.elastic.co/guide/en/elasticsearch/guide/current/fuzzy-match-query.html) fuzziness'。你怎麼看?匹配查詢可以使用分析字段。 –