我正在阅读elastic documentation并且在理解文档和索引的概念方面遇到了一些麻烦。
Elasticsearch是面向文档的,意味着它存储整个 对象或文件。
他们提供了这个例子:
curl -XPUT "localhost:9200/megacorp/empolyee/3/?pretty" -d '
{
"first_name": "Douglas",
"last_name": "Fir",
"age": 35,
"about": "I like to build cabinets",
"interest": ["forestry"]
}
'
据我所知,megacorp
是此处的索引。但是文件是什么?编号为3
的员工是否为文件?或者,由路径megacorp/employee
存储的所有员工组成一个单独的文档?
答案 0 :(得分:1)
使用您的示例:
curl -XPUT "localhost:9200/megacorp/employee/3/?pretty" -d '
{
"first_name": "Douglas",
"last_name": "Fir",
"age": 35,
"about": "I like to build cabinets",
"interest": ["forestry"]
}'
megacorp
是索引employee
是映射类型(即所有员工字段及其类型的定义)3
是员工的ID {"first_name": "Douglas", ..., "interest": ["forestry"]}
是包含员工3
基本上,如果我们绘制与传统RDBMS并行:
megacorp
将是数据库名称employee
将是包含所有员工记录(即员工架构)的数据库表3
将成为员工记录的主键{"first_name": "Douglas", ..., "interest": ["forestry"]}
将包含员工3