seq搜索引擎优化至少包括那几步?(如何使用document中的id手动指定请求请求参数执行? )

优采云 发布时间: 2021-11-04 16:16

  seq搜索引擎优化至少包括那几步?(如何使用document中的id手动指定请求请求参数执行?

)

  根据应用情况,是否满足手动指定document id的规范,一般在从其他系统导入一些数据到es时,会采用这种方式,也就是利用现有系统数据的唯一标识,作为es中文档的id,比如我们目前正在开发一个电商网站,做一个搜索功能,或者oa系统的一个员工查询。这时候数据会先在网站系统的数据库里,先有副本,然后肯定会有数据库的主键(自增长、uuid、业务id) ),此时使用数据库主键中已有的数据比较合适

  如果数据主要存放在es,那么可以使用文档中自动生成的id

  1.手动指定

  示例

  PUT /index/type/id

{

"xxx":"xxx"

}

  请求参数

  PUT /ecommerce/product/4

{

"name":"yayale yagao",

"desc":"gaoxiao meibai",

"price":100,

"producer":"yayale producer",

"tags":[

"fangzhu","meibai","qingxin"

]

}

  执行结果:

  {

"_index": "ecommerce",

"_type": "product",

"_id": "4",

"_version": 1,

"result": "created",

"_shards": {

"total": 2,

"successful": 1,

"failed": 0

},

"_seq_no": 0,

"_primary_term": 1

}

  2.自动生成的id

  示例(语法:不要写id):

  POST /index/type

{

"xxx":"xxx"

}

  请求参数:

  POST /test_index/salesOrder/

{

"OrderProductIds":"5"

}

  执行结果:

  {

"_index": "test_index",

"_type": "salesOrder",

"_id": "oy53M2kBk5b8VGC4Tnxn",

"_version": 1,

"result": "created",

"_shards": {

"total": 2,

"successful": 1,

"failed": 0

},

"_seq_no": 0,

"_primary_term": 1

}

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线