Nano Hash - криптовалюты, майнинг, программирование

Получите наиболее популярные термины из индексов, на которые ссылается псевдоним

Поиск указывает на псевдоним. В процессе индексации новый индекс создается каждые 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"
         }
      }
   }
}

Ответы:


1

Зарегистрируйте условия поиска (или целые запросы, если необходимо), загрузите их в Elasticsearch, а затем проанализируйте их с помощью Kibana. Конфигурация псевдонима индекса не имеет значения.

Вы должны получать журналы напрямую от того, что подключается к Elasticsearch, или от прокси-сервера между ним и Elasticsearch.

Вы можете заставить Elasticsearch регистрировать запросы, но обычно это плохая идея с точки зрения производительности.

Поскольку это весь термин, который вам нужен, обязательно используйте keyword сопоставление для поискового запроса.

После ввода поисковых запросов используйте агрегирование terms, чтобы отобразить наиболее популярные поисковые запросы.

[изменить: указать, что необходимо регистрировать поисковые запросы, а не полные запросы DSL]

17.05.2021
  • Привет Том, спасибо за ответ. Я сделал это, используя поле в качестве ключевого слова и используя агрегацию, чтобы суммировать его ежедневно. Он не регистрирует запрос, просто вставляет search_term в другой индекс, а затем в конце дня он извлекается из индекса, используя агрегирование терминов и вставляя результат в таблицу. 18.05.2021
  • Хороший замечание - я обновил свой ответ, чтобы было понятнее, что это поисковые запросы, которые необходимо регистрировать и принимать. Если ответ оказался полезным, проголосуйте за него или примите его, как указано в документации, здесь 19.05.2021
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..