elasticsearch,Javascript,Node.js,elasticsearch" /> elasticsearch,Javascript,Node.js,elasticsearch" />

Javascript ElasticSearch-节点中的完成提示器

Javascript ElasticSearch-节点中的完成提示器,javascript,node.js,elasticsearch,Javascript,Node.js,elasticsearch,我创建了一个名为企业的索引,每个文档都有名称,行业,以及城市等字段: client.indices.create({ index: 'businesses', body: { mappings: { _doc: { properties: { name: { type: "completion",

我创建了一个名为
企业
的索引,每个文档都有
名称
行业
,以及
城市
等字段:

client.indices.create({
    index: 'businesses',
    body: {
        mappings: {
            _doc: {
                properties: {
                    name: {
                        type: "completion",
                        analyzer: "simple",
                        search_analyzer: "simple"
                    },
                    industry: {
                        type: "completion",
                        analyzer: "simple",
                        search_analyzer: "simple"
                    },
                    city: {
                        type: "text",
                        analyzer: "simple",
                        search_analyzer: "simple"
                    }
                }
            }
        }
    }
})
我想创建一个
完成建议器
,用户在其中输入业务的
名称
行业
,它应该返回结果

我插入了如下文档:

client.index({
    index: 'businesses',
    type: '_doc',
    id: '1',
    body: {
        name: 'Sports Center',
        industry: 'sports',
        city: 'london'
    }
});
但是我不知道如何进行
搜索。我尝试了以下方法,但无效:

client.search({
    index: 'businesses',
    body: {
        prefix: 'sport',
        completion: {
            field: "name",
            fuzzy: true,
            size: 10
        }
    }
});

上述操作只会产生错误。如何进行正确的完成建议查询?

您似乎做错了两件事。首先,文件的插入应为:

client.index({
    index: 'businesses',
    type: '_doc',
    id: '1',
    body: {
        name: { input ['Sports Center'] },
        industry: { input ['sports'] },
        city: 'london'
}
});
插入为完成时,应为:“输入”:[值]

第二件事是搜索:

     client.search({
     index: 'businesses',
     type: '_doc',
     body: {     
        "suggest": {
            "whicheverNameYouWant": {
                "prefix": "sport",
                "completion": {
                    "field": "name",
                    "fuzzy": {
                         "fuzziness": "auto"
                     }
                 }
             }
         }
     }

在这里,您需要搜索建议类型。

您在nodejs中找到完成建议了吗?不幸的是,没有。在某个时刻,我将不得不尝试解决这个问题。