应用中的数据很少只是简单的key-value,常常他们是包含了日期,地理位置坐标,对象,数组等结构化的。想要把这些数据存储起来,如果使用行列式的关系型数据库,就好象把你制作好的结构化数据塞到一个excel表格中一样,这样做就得把你的数据重构造以符合数据表格的约束,当然从数据库中取出所需的数据还要反向重构造为符合你应用的数据结构。
ES是面向文档的,意味着他不再需要行列式的表格字段约束。ES会存储整个构造好的数据或文档,然而不仅仅是储存数据,同时也使得文档中每个数据可以被标识,进而可以被检索。在ES中,执行index,search,sort或过滤文档等操作都不是传统意义上的行列式的数据。ES从更本上对数据的不同思考方式也正是他能应对复杂数据结构的全文检索的原因之一。
ES使用JSON(JavaScript Object
Notation)作为文档序列化的数据格式。JSON被多的编程语言支持,并且越来越被当作使用NoSQL的标准格式。简单,简洁,易读是JSON的特点。
几乎所有的编程语言都有结构化的数据与JSON相互转换的模块,只是一些细节有差异而已。ES中JSON处理见: The
official Elasticsearch clients
原文:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_document_oriented.html
时间: 2024-10-05 13:26:17