ElasticSearcher對不同字段類型索引方式

背景

1: 核心數據類型(strings, numbers, booleans及dates)以不同的方式進行索引,而這點也是現實:在Elasticsearch中他們是被區別對待的

2: 確切值(exact values)(比如string類型)及全文文本(full text)之間的區別,這是搜索引擎和數據庫之間搜索的根本差異

 

 

正文

1: analysis

fulltext或者分詞字段,查詢和索引都會經過同一套analysis模塊,這個功能和esearch一樣,包含過濾(大小寫,空格,特殊字符)和分詞

可以指定

GET /_analyze?analyzer=standard&text=Text to analyze

 

2:字段

如一個mapping示例:

GET /gb/_mapping/tweet ## mapping就相當於schema

{ "gb": { "mappings": { "tweet": { "properties": { "date": { "type": "date", "format": "strict_date_optional_time||epoch_millis" }, "name": { "type": "string" }, "tweet": { "type": "string" }, "user_id": { "type": "long" } } } } } }

其他的沒什麼關注的,主要是string字段,

string字段:當Elasticsearch在你的文檔中探測到一個新的字符串字段,它將自動設置它爲全文string字段並用standard分析器分析。也就是說string字段默認會設置爲分詞字段,如果要設置,需要在mapping中設置這個字段對應的類型。

那麼如何將string字段設置爲不分詞呢?對於string字段,兩個最重要的映射參數是index和analyer

只需要設置這兩個字段值就行

{ "ta

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章