Поиск указывает на псевдоним. В процессе индексации новый индекс создается каждые 5 минут. Затем псевдоним обновляется, указывая на новый индекс. Индекс создается заново, чтобы избежать проблем с синхронизацией, которые могут возникнуть, если мы обновляем элемент за элементом при внесении изменений.
Однако мне нужно отслеживать искомые термины, чтобы создать информационную панель, чтобы перечислить термины, которые чаще всего искали за период. Или даже с помощью Kibana, чтобы показать / извлечь его.
* Искомые термины могут состоять из нескольких слов, например, «белая», «белая летняя ночь» и т. Д. Мы стремимся ранжировать термин, а не отдельные слова.
У меня нет опыта работы с Elasticsearch, и поисковые запросы, которые я пробовал, не принесли соответствующих решений.
Спасибо за помощь!
{
"actions" : [
{ "remove" : { "index" : "catalog*", "alias" : "catalog-index" } },
{ "add" : { "index" : "catalog1234566", "alias" : "catalog-index" } }
]
}
Сопоставления:
{
"mappings":{
"properties":{
"created_at":{
"type":"integer"
},
"search_terms_key":{
"type":"keyword"
}
}
}
}
Запрос:
{
"query":{
"match_all":{
}
},
"aggs":{
"search_terms_key":{
"terms":{
"field":"search_terms_key",
"value_type":"string"
}
}
}
}