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中找到完成建议了吗?不幸的是,没有。在某个时刻,我将不得不尝试解决这个问题。