在Elasticsearch中,文檔(document)是以JSON格式存儲(chǔ)的。具體來說,文檔是一個(gè)包含多個(gè)字段(field)的 JSON 對象。而每個(gè)字段都可以包含不同類型的數(shù)據(jù),如字符串、整數(shù)、日期等。
{ "id": 1, "name": "John", "age": 26, "is_active": true, "created_at": "2021-05-01T12:34:56" }
在上面的例子中,有五個(gè)不同類型的字段。其中:
- id 是整數(shù)類型
- name 是字符串類型
- age 是整數(shù)類型
- is_active 是布爾類型(true 或 false)
- created_at 是日期類型(格式為 ISO 8601)
當(dāng)我們在Elasticsearch中創(chuàng)建索引時(shí),我們需要定義每個(gè)字段的類型和其他屬性(如是否可以搜索、是否存儲(chǔ)原始值等)。這些屬性是在創(chuàng)建索引時(shí)設(shè)置的。
PUT /my_index { "mappings": { "properties": { "id": { "type": "integer" }, "name": { "type": "text" }, "age": { "type": "integer" }, "is_active": { "type": "boolean" }, "created_at": { "type": "date" } } } }
在上面的例子中,我們定義了一個(gè)名為 my_index 的索引,并為每個(gè)字段指定了類型。例如,我們?yōu)?id 指定了整數(shù)類型,為 name 指定了文本類型,為 is_active 指定了布爾類型,為 created_at 指定了日期類型。
總之,Elasticsearch的字段是以JSON格式存儲(chǔ)的,每個(gè)字段可以包含不同類型的數(shù)據(jù)。在創(chuàng)建索引時(shí),我們需要為每個(gè)字段指定類型和其他屬性。