Elasticsearch 映射參數(shù)詳解 fields
Elasticsearch 映射參數(shù) fields
fields
處于不同的目的,通過不同的方法索引相同的字段通常非常有用。這也是多字段的目的。例如,一個字符串字段可以映射為text字段用于全文本搜索,也可以映射為keyword字段用于排序或聚合。
PUT my_index { "mappings": { "_doc": { "properties": { "city": { "type": "text", "fields": { "raw": { "type": "keyword" } } } } } } }
note
:city.raw字段是city字段的keyword版本。
GET my_index/_search { "query": { "match": { "city": "york" } }, "sort": { "city.raw": "asc" }, "aggs": { "Cities": { "terms": { "field": "city.raw" } } } }
note
:city字段用于全文本搜索。
note
:city.raw用于排序與聚合。
多字段不能修改原始_source字段。
對于相同索引中具有相同名稱的字段,fields設(shè)置允許有不同的設(shè)置。可以使用PUT映射API將新的多字段添加到已存在的字段中。
帶有多個分析的多字段
多字段的另一個應用場景是使用不同的方法分析相同的字段以求獲得更好的相關(guān)性。
PUT my_index { "mappings": { "_doc": { "properties": { "text": { "type": "text", "fields": { "english": { "type": "text", "analyzer": "english" } } } } } } }
note
:text.field字段使用english分析器。
elasticsearch注解實現(xiàn)fields
mapping效果:
"label": { "type": "keyword", "fields": { "IKS": { "type": "text", "analyzer": "ikIndexAnalyzer" } } }
@Column(name = "標簽") @MultiField( mainField = @Field(type = FieldType.Keyword), otherFields = { @InnerField(suffix = "IKS", type = FieldType.Text, analyzer = "ikIndexAnalyzer") } ) protected String label;
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
feign調(diào)用返回object類型轉(zhuǎn)換方式
這篇文章主要介紹了feign調(diào)用返回object類型轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06寧可用Lombok也不把成員設(shè)置為public原理解析
這篇文章主要為大家介紹了寧可用Lombok也不把成員設(shè)置為public原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03Java數(shù)據(jù)長度獲取方式對比之length屬性、length()和size()方法詳解
在Java編程語言中l(wèi)ength、length()和size()是三個常見的用來獲取不同數(shù)據(jù)類型對象長度或大小的方法,但它們各自適用于不同的上下文,這篇文章主要給大家介紹了關(guān)于Java數(shù)據(jù)長度獲取方式對比之length屬性、length()和size()方法詳解2024-07-07