Elasticsearch實現英文區分大小寫搜尋

2021-10-24 08:36:47 字數 357 閱讀 6064

需求很簡單,搜尋時,有乙個區分大小寫的checkbox,勾選則區分大小寫,不勾選正常模糊搜尋,或者其他搜尋

首先搞清楚,elasticsearch索引英文時預設索引時採用的分析器,會將全部字元轉換為小寫,所以採用預設分析器是無法實現區分大小寫的。

最直接的方法就是自定義分詞器,

}}}

上述分析器,實際上是將預設的標準分析器中的小寫分詞過濾器去掉。

這樣以來又引入另外乙個問題,如果正常的搜尋又無法顯示不區分區分大小寫的模糊匹配,

可以再引入乙個字段,定義為預設的分詞器,然後,然後根據是否勾選區分大小寫查詢不同的的字段即可。

對於elasticsearch分析器有疑問的可見:

Elasticsearch 實現分組統計

之前有個查詢es分組求和的需求,類似關係型資料庫 select a b sum c from table group by a,b 當時用dsl查詢語句實現 這邊記錄下 get my index my type search aggs aggs 說明 1.環境居於es 5.4.3 版本,查詢語句在k...

ElasticSearch 搜尋功能實現

elasticsearch。獲取文件記錄。查詢條件 需要分詞的字段 sku名稱 sku描述 分詞 定義分詞器 有可能用於過濾的字段 平台屬性 分類 要索引其他需要顯示的字段 skuid 路徑 不索引封裝elasticsearch的資料結構 public class pmssearchskuinfo ...

Elasticsearch實現原理分析 2

第1部分分析了elasticsearch基本的讀 寫 更新 儲存等方面的實現原理,本文件主要介紹elasticsearch如何實現分布式系統的三個特性 consensus,concurrency和consistency 以及分片的內部概念,例如 translog write ahead log wa...