我想使用基于弹性搜索的同义词搜索。我使用以下代码创建了inde:
function addDocument(document) {
return elsClient.index({
_id:"d4nrfuNJ45jfki454knKNk67",
index: 'my_index',
type: "document",
body: {
title: document.title,
content: document.content,
suggest: {
input: document.title.split(" "),
output: document.title,
}
}
});
}
然后我使用以下代码获取所需的数据:
const test = function test() {
let body = {
size: 20,
from: 0,
query: {
match: {
title: {
query: 'Lorem in duis est ',
minimum_should_match: 3,
fuzziness: 2
}
}
}
};
'${body.query.match.title.query}' (displaying ${body.size} items at a time)...`);
search('library', body)
.then(results => {
console.log(`found ${results.hits.total} items in ${results.took}ms`);
if (results.hits.total > 0)
results.hits.hits.forEach((hit, index) => console.log(`\t${body.from + ++index} - ${hit._source.title} (score: ${hit._score})`));
})
.catch(console.error);
};
现在我想要的是使用同义词实现搜索。我参考了文档的this部分,但是在这一部分中,它说是将同义词文件添加到"synonyms_path" : "analysis/synonym.txt"
中。但是我正在使用弹性搜索的在线免费试用版,是否可以将同义词文件上传到弹性搜索或kibana ?。因为我不在localhost:9200上工作。