1、手动指定document id
(1)根据应用情况来说,是否满足手动指定document id的前提:
一般来说,是从某些其他的系统中,导入一些数据到es时,会采取这种方式,就是使用系统中已有数据的唯一标识,作为es中document的id。
举例:如果我们现在正在开发一个系统网站之类的,要给系统做一个搜索功能,这个时候系统会首先从系统内部的数据库中获取数据,而这个数据在数据库中肯定会有primary key(主键),如果将这些数据导入es中,此时就比较适合使用手动指定document id的方式,id指定为数据库中数据对应的primary key。
如果我们做的系统数据主要存储方式就是es一种,也就是说数据产生出来后,没有id,直接就放在es中存储,这个时候,就不适合用手动指定document id的方式了。在不知道数据id是什么的情况下,可以采取让es自动生成id的方式
(2)手动指定document id 的示例
PUT /test_index/test_type/2
{
"test_content":"my test_content"
}
--------------------------------------结果-----------------------------------------------------
{
"_index": "test_index",
"_type": "test_type",
"_id": "2",
"_version": 1,
"result": &