如何完成建议Elasticsearch 5.x.

时间:2017-08-01 06:05:46

标签: elasticsearch autocomplete elasticsearch-5 search-suggestion completion

我正在转换1.7.5 => 5.4.2 但完成表明产量消失了。

离)

Es 1.7.5建议制图

{   
    "test_suggest":[

      {
             "input": "bigbang",
             "payload": {
                 "type": "foo",
                 "id": "A",
                 "name": "BIGBANG"
             },
             "weight": 111,
             "output": "BIGBANG"

      },
      {

             "input": "빅뱅",
             "payload": {
                 "type": "foo",
                 "id": "B",
                 "name": "BIGBANG"
             },
             "weight": 111,
             "output": "빅뱅"

       },
       {

             "input": "qlrqod",
             "payload": {
                 "type": "foo",
                 "id": "B",
                 "name": "BIGBANG"
             },
             "weight": 111,
             "output": "빅뱅"
        }
    ]
 }

我去了这个

  • 搜索 - >结果
  • bigbang - > BIGBANG
  • 빅뱅 - > 빅뱅
  • qlrqod - > 빅뱅

5.4.2建议映射

{
    "test_suggest": [

           {
                "input": "bigbang",
                "weight": 111
            }
            ,
            {
                "input": "빅뱅",
                "weight": 111
            }
            ,
           {                
                "input": "qlrqod",
                "weight": 111,
             }
      ],
       "KEYWD" : "BIGBANG",
       "TYPE": "foo",
       "ID": "A"
 }

我该怎么做?

1 个答案:

答案 0 :(得分:0)

Elasticsearch的完成建议已从5.0更改。 删除索引建议条目时指定输出的支持。现在建议结果条目的文本始终是建议输入的未分析值(与在5.0之前的索引中索引建议时未指定输出相同)。 因此,您需要将modal添加为正文中$('#update_modal').on('click', function() { $("#myModal").css({ 'z-index': 1050 }).modal('show'); }); 键的兄弟字段。
这是它应该是这样的:

映射:

output

不要忘记用您的索引类型替换suggest

索引:

{
    "mappings": {
        "<type>" : {
            "properties" : {
                "suggest" : {
                    "type" : "completion"
                },
                "title" : {
                    "type": "keyword"
                }
            } 
        }
    }
}

此处,字段名称<type>可以替换为任何内容,它只是文档的元数据。

查询:

/<index_name>/<type_name>

{
    "suggest" : {
        "input": ["bigbang"],
        "weight" : 1
    },
    "output": "BIGBANG"
}

我希望这会有所帮助。