Точные совпадения
Ищите документы по точным значениям, диапазонам и наличию полей. Поля keyword сохраняют регистр, а text проходят анализ.
Практический тренажёр для backend-разработчиков. Настоящие данные, настоящий Elasticsearch и обратная связь, которая объясняет результат.
{
"query": {
"bool": {
"must": [
{ "match": { "name": "wireless" } }
],
"filter": [
{ "range": { "price": { "lt": 500 } } }
]
}
}
}Пять уроков. Двадцать пять практических задач. Учитесь в своём темпе.
Ищите документы по точным значениям, диапазонам и наличию полей. Поля keyword сохраняют регистр, а text проходят анализ.
Объединяйте условия через bool. must влияет на релевантность, filter — нет; must_not исключает документы. При наличии must или filter условия should необязательны, если не задан minimum_should_match.
Поля text используют standard analyzer: текст разбивается на токены и приводится к нижнему регистру. Match анализирует запрос, term — нет.
Управляйте сортировкой, страницами и полями ответа. Boost меняет релевантность; оценка зависит от корпуса и не является вероятностью.
Агрегации обобщают найденные документы. Bucket-агрегации создают группы, метрические — вычисляют значения. Используйте size: 0, когда нужны только статистики.
Короткая теория, реальные задачи и понятная схема индекса.
Пишите JSON, изучайте документы, релевантность и агрегации.
Проверяйте результат и семантику, используйте подсказки и двигайтесь дальше.