Хобрук: Ваш путь к мастерству в программировании

SOLR подсчитывает запрос многозначных полей

Можно ли создать запрос solr, в котором возвращаются только документы, содержащие более одной записи в многозначном поле. Например:

docs: [
  {
    id: 1,
    myfield: ["hello word", "hello stackoverflow"]
  },
  {
    id: 2,
    myfield: ["hello word"]
  }
]

И мой наивный пример запроса только для объяснения того, что я хочу:

/select?q=count(myfield.length, 'eq', 2)
04.08.2016

Ответы:


1

Да, но не "из коробки". Решение для достижения того, что вы ищете, — это использовать CountFieldValuesUpdateProcessorFactory вместе с новым полем, называемым в вашем случае myfield_count. Например:

docs: [
  {
    id: 1,
    myfield: ["hello word", "hello stackoverflow"]
    myfield_count: 2
  },
  {
    id: 2,
    myfield: ["hello word"]
    myfield_count: 1
  }
]

После этого вы можете просто использовать логическую функцию для фильтрации или оценки для myfield_count>1.

04.08.2016
  • Спасибо, AR1, не совсем то решение, которое я ищу, но я думаю, что это единственный способ. 22.08.2016
  • Новые материалы

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

    Генерация ваших собственных удивительных QR-кодов с использованием Python
    QR-код (код быстрого ответа) — это разновидность матричных штрих-кодов (или двумерных штрих-кодов), изобретенных в 1994 году японской автомобильной компанией Denso Wave . Штрих-код —..

    Прогресс в технологии Трансформеров часть 3
    Многомасштабный управляющий сигнальный преобразователь для бесфазного синтеза движения (arXiv) Автор: Линтао Ван , Кун Ху , Лей Бай , Юй Дин , Ваньли Оуян , Чжиюн Ван . Аннотация:..

    Представляем поддержку компонентов Vue.js. Мгновенный HMR и многое другое.
    Хотя у FuseBox уже был плагин Vue, он был базовым и не имел многих функций, которые делали работу с Vue.js такой приятной. Однако с этим выпуском мы рады сообщить, что в FuseBox..

    Приключения в Javascript, часть 1
    Я продолжаю думать о том, чтобы писать больше, но чем больше я думаю об этом, тем меньше я это делаю. Итак, сегодня я перестал думать и начал писать. Отсюда можно только спускаться… В..

    Понимание дженериков в TypeScript: подробное руководство
    Введение TypeScript, строго типизированный надмножество JavaScript, хорошо известен своей способностью улучшать масштабируемость, удобочитаемость и ремонтопригодность приложений. Одной из..

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..