首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批量插入elasticSearch以实现自动完成建议

批量插入elasticSearch以实现自动完成建议
EN

Stack Overflow用户
提问于 2015-10-21 13:54:03
回答 1查看 752关注 0票数 0

如何批量插入建议

这是地图

代码语言:javascript
复制
PUT /myindex/autocomplete/_mapping
{
   "autocomplete": {
      "properties": {
         "name": {
            "type": "string"
         },
         "suggest": {
            "type": "completion",
            "index_analyzer": "simple",
            "search_analyzer": "simple",
            "payloads": true
         }
      }
   }
}

下面是很少的数据,如果我惰性的话,那么一个一个地工作。

代码语言:javascript
复制
POST /myindex/autocomplete/
{
   "name": "Nevermind",
   "suggest": {
      "input": [
         "Nevermind",
         "Nirvana"
      ],
      "output": "Nirvana - Nevermind",
      "payload": {
         "tip": 1,
         "oid": 1
      },
      "weight": 34
   }
}

如何做大量的建议插入?

代码语言:javascript
复制
PUT /myindex/autocomplete/_bulk
{
   "name": "Nevermind",
   "suggest": {
      "input": [
         "Nevermind"
      ],
      "output": "Nirvana - Nevermind",
      "payload": {
         "tip": 1,
         "oid": 1
      },
      "weight": 34
   }
}
{
   "name": "Bleach",
   "suggest": {
      "input": [
         "Bleach"
      ],
      "output": "Nirvana - Bleach",
      "payload": {
         "tip": 2,
         "oid": 3
      },
      "weight": 20
   }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-22 05:12:11

您需要根据批量操作期望设置数据的格式,即“索引”操作的一行和带有JSON源的另一行都由新的行字符分隔(包括最后一行):

代码语言:javascript
复制
curl -XPOST localhost:9200/myindex/autocomplete/_bulk -d '
{ "index":{"_id": 1} }
{ "name": "Nevermind",  "suggest": { "input": [ "Nevermind" ], "output": "Nirvana - Nevermind", "payload": {  "tip": 1, "oid": 1 }, "weight": 34 } }
{ "index":{"_id": 2} }
{ "name": "Bleach",  "suggest": { "input": [ "Bleach" ], "output": "Nirvana - Bleach", "payload": {  "tip": 2, "oid": 3 }, "weight": 20 } }
'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33261241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档