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

ElasticSearch предлагает набор параметров по умолчанию

Я хочу получить набор параметров по умолчанию, когда для конечной точки предложения не предоставляется никаких входных данных. Но

GET /my_index/_suggest
{
   "topics": {
      "completion": {
         "field": "suggest_topic",
         "size": 10
      },
      "text": ""
   }
}

возвращается пустым.

Я хотел бы предоставить пользователям несколько вариантов, когда они впервые откроют поле автозаполнения, которое использует эту конечную точку. Я думал об использовании /_search и объединении результатов, но я думаю, что в ElasticSearch должен быть лучший способ сделать это. Запрос регулярного выражения с флагом ANY кажется это хороший способ решить эту проблему, но они не поддерживаются в версии 1.7.

30.11.2016

  • Если вы не предоставите информацию, как Elasticsearch может что-то предложить? Предложения по каким критериям? У вас должны быть какие-то критерии... 02.12.2016
  • Хорошо, скажем, я хочу иметь самые популярные n элементов, если текст не указан. Просто для удобства. Я не хочу делать еще один запрос и объединять результаты 02.12.2016
  • Каково ваше определение самого популярного? 02.12.2016
  • наиболее популярные по некоторому полю, определенному в документах, поэтому отсортированные по какому-то полю. Если не самый популярный, я хотел бы получить по крайней мере функциональность, достигнутую с помощью флагов запроса регулярных выражений. См. Ссылку на вопрос. Мне нужно добиться того же в es 1.7. (Я предполагаю, что он вернет некоторые документы, если я использую регулярное выражение с флагом *). Но ввод регулярных выражений не поддерживается в es 1.7. 02.12.2016
  • Популярные товары из поля suggest_topic? 02.12.2016
  • Просто выполните агрегацию terms в этом поле, и вы получите наиболее часто используемые термины в этом поле в порядке убывания с учетом количества документов: elastic.co/guide/en/elasticsearch/reference/1.7/ 02.12.2016
  • В зависимости от того, как вы анализируете это поле, вы можете получить более релевантные или менее релевантные термины. Вот почему я попросил определить популярные, потому что вы можете контролировать, какие термины популярны для вашего варианта использования, и вы можете определить свой собственный анализатор для поля, содержащего популярные термины. Но в самом простом определении популярности вы можете использовать, как я упоминал выше, агрегацию terms и получить первые 10 популярных терминов из этой конкретной области. 02.12.2016

Ответы:


1

Получение предложений для пустой строки ничего не даст. И даже если бы это было так, я сомневаюсь, что это даст результаты в «полезное» время, поскольку функциональность предложений должна быть быстрой, чтобы она не мешала работе пользователя.

В зависимости от того, как вы анализируете это поле, вы можете получить более релевантные или менее релевантные термины. Вам нужно определить "популярные", чтобы вы могли контролировать, какие термины популярны для вашего варианта использования, и вы можете определить свой собственный анализатор для поля, содержащего "популярные" термины. . Но в качестве самого простого определения слова "популярный" вы можете использовать terms агрегацию и получить первые 10 популярных терминов из этого конкретного поля. «Популярные» здесь будут означать наиболее часто используемые термины в вашем указателе из этого конкретного поля.

С агрегацией terms вы получите термины в порядке убывания с учетом количества документов: https://www.elastic.co/guide/en/elasticsearch/reference/1.7/search-aggregations-bucket-terms-aggregation..html#search-aggregations-bucket-terms-aggregation

Но, как я уже говорил, здесь нет никакой магии. Вам нужно свое собственное определение «популярного» и помочь Elasticsearch понять его. Затем, используя соответствующий запрос, вы можете получить этот список терминов/предложений и т.д.

05.12.2016
Новые материалы

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

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

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

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

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

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

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