я прочитал этот документ, чтобы понять равенство sql в elasticsearch.(https://taohiko.wordpress.com/2014/07/18/query-dsl-elasticsearch-vs-sql/) я разработал своего рода приложение elasticsearch, которое делает индексы из моих данных, если я позвоню ниже отправить запрос с помощью почтальона:
{
"query": {
"multi_match" : {
"query": "TÜRKİYE iş 3124904300",
"type": "cross_fields",
"fields": [ "title", "tcknVkn","phone","townName","cityName","poiDesc","district","street","avenue","buildingName","addressName" ],
"operator": "and"
}
}
}
он работает идеально. Но я хочу сделать это;
{
"query": {
"multi_match" : {
"query": "TÜRKİYE iş 312*",
"type": "cross_fields",
"fields": [ "title", "tcknVkn","phone","townName","cityName","poiDesc","district","street","avenue","buildingName","addressName" ],
"operator": "and"
}
}
}
означает:
select * from mytable where title like 'TÜRKİYE%' and addressName like 'iş%' and
tcknVkn like '312%'
но. если я напишу запрос выше, elasticsearch не сможет понять числовое значение. Так он возвращает мне пустые данные? Как я могу решить эту проблему. Как я могу преобразовать приведенный выше запрос sql в запрос elasticsearch?
(БУДЬТЕ ОСТОРОЖНЫ: "title", "tcknVkn","phone","townName","cityName","poiDesc","район","улица","проспект","название здания", "addressName" -> все поля индексируются как строки)
"query": "TÜRKİYE* iş* 312*",
- person hkulekci   schedule 27.02.2017tcknVkn
при создании сопоставления. - person hkulekci   schedule 27.02.2017