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

Solr Объединить результаты facet.field в один результат фасета

У меня есть поля fieldA и fieldB (которые хранятся = true), а также fieldSearch (который хранится = false и имеет скопированные значения fieldA и fieldB).

Мне нужно получить многогранный результат в fieldSearch. Я хочу получить один список фасетов с объединенными полями A и B (количество не важно для меня). Это возможно только в том случае, если я также сохраню fieldSearch? В моем сценарии fieldSearch — это более сложный тип с фильтрами.

Я мог бы создать поле fieldAB с сохраненным = true, но мне кажется, что это пустая трата места. Может быть, кто-то может предложить лучший подход.

Чтобы было понятно, скажем:

fieldA имеет значения: банан, яблоко

fieldB имеет значения: апельсин, яблоко

Вместо:

«facet_fields»: { «fieldA»: [ «банан»: 1, «яблоко»: 1], «fieldB»: [ «апельсин»: 1, «яблоко»: 1,]}

Я бы хотел:

"facet_fields":{ "fieldAB":[ "банан":x, "яблоко":x "оранжевый:x]}

Счет не важен.

Спасибо


  • Я думаю, вы можете найти это полезным - stackoverflow.com/a/12350121 11.07.2015
  • Спасибо Джей, но я не уверен, что это поможет мне. В моем случае мне нужно было бы получить полное поле, а не только термины. 13.07.2015
  • вы можете сохранить свое поле в виде строки, а затем использовать компонент терминов. ‹fieldType name=string class=solr.StrField sortMissingLast=true /› и поле будет иметь вид ‹field name=fieldSearch_string type=string indexed=true store=false multiValued=true/› . Поскольку это поле просто индексируется, а не сохраняется, вы все равно сэкономите много места. 13.07.2015
  • Привет, @jay, теперь я понял. Но все же я не нашел способа использовать его с несколькими полями. Когда я запрашиваю /terms?terms.fl=fieldA&terms.fl=fieldB, он дает мне отдельные результаты, как и в случае с фасетами. А также мне нужно добавить динамическое поле, такое как terms.fl=field*, которое, я думаю, не примет. Я не вижу другого пути к этому, кроме как создать новое сохраненное поле и тратить больше места. 15.07.2015

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

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

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

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

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

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

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

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