mappingweb
映射定義了一個文檔和其包含的數據如何被索引到elasticsearch中的規則,哪些字段是數字,哪些字段是字符串,哪些字段是時間格式登,定義字符串字段的分析器,定義時間字段的格式等json
獲取或者更新一個索引或者類型的映射爲_mappingapp
GET http://localhost:9200/website/blog/_mapping { "bbs": { "mappings": { "thread": { "properties": { "city_id": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "content": { "type": "text", "analyzer": "ik_smart" }, "forum_id": { "type": "long" }, "publish_time": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" }, "reply_count": { "type": "long" }, "thread_id": { "type": "long" }, "title": { "type": "text", "analyzer": "ik_smart" }, "user_id": { "type": "long" }, "username": { "type": "text" } } } } } }
設置elasticsearch
PUT http://localhost:9200/website/blog/_mapping { "bbs": { "mappings": { "thread": { "properties": { "city_id": { "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } } }, "content": { "type": "text", "analyzer": "ik_smart" }, "forum_id": { "type": "long" }, "publish_time": { "type": "date", "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" }, "title": { "type": "text", "analyzer": "ik_smart" }, "user_id": { "type": "long" }, "username": { "type": "text" } } } } } }
屬性的類型:this
文本格式,索引時,會根據設置的分析器,分詞,處理字符串,分紅適合於倒排索引的獨立的詞條code
analyzer: 設置分析器,在索引時和搜索時(無設置search_analyzer時)會被用來處理字符串, 默認爲standard search_analyzer: 設置搜索分析器,在搜索時用來處理字符串 boost: 設置字段相關性權重,搜索時影響權重值 index: 設置字段是否能夠搜索 analyzed 首先分析字符串,而後索引它。換句話說,以全文索引這個域。 not_analyzed 索引這個域,因此能夠搜索到它,但索引指定的精確值。不對它進行分析。 no Don’t index this field at all不索引這個域。這個域不會被搜索到。 norms: 設置字段查詢相關度是否受字段長度影響 默認true
ignore_above: 索引的最長長度
format:格式("yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis")