我刚刚在我的数据库上实现了弹性搜索,我对此非常陌生。我必须编写必须的查询 -
使用用户输入的搜索文本搜索数据库字段“name”。
用户还可以对搜索文本应用过滤器,例如国家/地区数组或颜色数组或任何标签数组
必须检查是否应用了任何过滤器,然后才能将其与数据库中的相应字段匹配。
查询如下:
aggregate.match({ '$text': { '$search': searchString } });
if(portarray){
aggregate.match({ 'Port' : { $in:portArray } });
}
if(countriesArray){
aggregate.match({ 'country' : { $in: countriesArray } });
}
请帮助我。
答案 0 :(得分:0)
我建议您阅读官方Elasticsearch教程,例如:this artice
例如,回答你的第一个问题,你应该查询:
GET /yourIndexName/_search
{
"query":
{ "match":
{ "Name": "Pablo Escobar" }
}
}