Ниже я поделился необработанным запросом Elastic Search.Я использовал ElasticSearch 6.X verison.
В указанном выше запросе 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
Примечание: поле Departman и Country, помеченное как [ключевое слово], чтобы получить точное значениеmatching.
{
"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"
]
}
}
]
}
}
}
У меня есть несколько вопросов об этом упругом поисковом запросе.
Во-первых, я пытаюсь объединить запрос по запросу.Я прав или у вас есть какой-нибудь совет для меня?
Здесь я использовал ключевое слово filter в отправление и страну.Моя цель состоит в том, чтобы использовать возможность кеширования ElasticSearch для фильтров через отдел и поле countryCode.Есть ли я прав?