在下面,我共享了一个Elastic Search原始查询。我使用了ElasticSearch 6.X版本。
在上面给定的ElasticSearch Raw查询中,我尝试在下面生成类似此t-sql命令的结果。
这是T-Sql命令
Select * from where Departman=”IT” and CountryCoude=”US” and employeeName Like’Ey%’ and employeeSurname like’Ars%’ and birthdate>=’1991-01-01’
这是ElasticSearch的原始查询
注意:部门和国家/地区字段标记为[关键字]以获取准确的信息 匹配。
{
"size": 3,
"query": {
"bool": {
"must": [
{
"match_phrase_prefix": {
"employeeName": {
"query": "Ey"
}
}
},
{
"match_phrase_prefix": {
"emplotyeSurname": {
"query": "Ars"
}
}
},
{
"range": {
"birthday": {
"gte": "1991-01-01T00:00:00"
}
}
}
],
"filter": [
{
"terms": {
"Departman": [
"IT"
]
}
},
{
"terms": {
"CountyryCode": [
"US"
]
}
}
]
}
}
}
我对此弹性搜索查询有一些疑问。
首先,我尝试结合术语和匹配查询。我是正确的还是您有什么建议吗?
在那儿,我在departman和country中使用了filter关键字。我的目标是通过Department和countryCode字段对过滤器使用ElasticSearch的缓存功能。我正确吗?