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

Использование group.ngroups при поиске запроса в Solr

Я хотел бы проверить, повлияет ли использование группировки результатов с помощью group.ngroups (которая будет включать количество групп, соответствующих запросу) в поиске на производительность Solr? Я обнаружил, что скорость поиска значительно снизилась после того, как я добавил параметры group.ngroups.

Мне требовалось значение количества групп, соответствующих запросу. Помимо этого, есть ли другой способ получить это значение?

У меня более 10 миллионов документов с размером индекса более 500 ГБ, и я использую Solr 5.4.0.

С уважением,
Эдвин

11.03.2016

Ответы:


1

Да, это повлияет на производительность. Все, что необходимо сделать с результирующим набором (например, группировка), каким-то образом повлияет на производительность. Сколько зависит от слишком многих факторов, чтобы точно сказать, сколько (но вы это уже заметили).

Вы можете получить количество уникальных значений (которое должно совпадать с группировкой для этого поля и подсчетом количества групп) для поля несколькими способами, которые Йоник показывает в его запись в блоге Count Distinct Values.

Функция уникального фасета — это самая быстрая реализация Solr для вычисления количества различных значений.

$ curl http://localhost:8983/solr/techproducts/query -d '
q=*:*&
json.facet={
  x : "unique(manu_exact)"    // manu_exact is the manufacturer indexed as a single string
}'
11.03.2016
  • Спасибо за ответы. Хотели бы проверить, возможно ли выполнить эту уникальную команду функции фасета, используя URL-адрес HTTP вместо curl? 13.03.2016
  • @EdwinYeo уверен - вы должны просто обернуть его URL-адресом с теми же аргументами. Обычно это более читабельно, когда выполняется как POST, поэтому в примерах это используется. 13.03.2016
  • Спасибо @MatsLindh. Да, это работает, и с помощью JSON Facet время, необходимое для поиска уникальных значений, сократилось с 2 минут до менее чем 2 секунд с моими 10 миллионами документов в индексе. 15.03.2016
  • Это должен быть предложенный ответ в документации Solr рядом с group.ngroups 26.09.2016
  • Новые материалы

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

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

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

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

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

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

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