Создание документов в SOLR..?

я новичок в Apache SOLR..n я изучаю, как создавать документы в SOLR..


Мой сценарий: в моей базе данных RDBMS у меня есть следующий сценарий:

Таблица "cars" "jc_cars": id, name, extra

Таблица "атрибутов" "jc_attributes": id, attributeName

Таблица «многие ко многим» между атрибутом и автомобилями: «jc_car_attributes»: carID, attributeID, значение

Таблица «статей»: jc_articles: id, title, description

Таблица многие ко многим между Article и Cars : "jc_car_articles": articleID, carID

Теперь то, что я хочу:

  • Поиск всех автомобилей по их атрибутам (например, цене)
  • Поиск всех статей, связанных с этим автомобилем

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

  • Автомобили с ценой менее 400000 : необходимо предоставить информацию об автомобиле и соответствующие статьи.
  • Hyundai Accent: должен предоставить информацию об автомобиле и связанные статьи
  • и так далее.....

Итак, как мне создать соответствующий документ и Schema.xml..??


person Ramandeep Singh    schedule 02.03.2012    source источник


Ответы (1)


Solr имеет плоский индекс, поэтому у вас не может быть списка отношений с несколькими значениями (например, отношение с именем и значением, например ваши атрибуты).

Для статей вы можете указать идентификаторы связанных статей в многозначном поле, а затем выполнить отдельный поиск для них либо (а) в своей базе данных, (б) в другом ядре solr.

Что касается атрибутов, если у вас есть фиксированный список атрибутов, вы можете соединить их с cars и прочитать каждый атрибут в отдельном поле. Если у вас нет фиксированного списка атрибутов, вам также придется прибегнуть к отдельному ядру, делая по существу обратное тому, что вы делаете для статей; выполните поиск в ядре атрибутов, а затем найдите конкретные автомобили из ядра ваших автомобилей.

person beerbajay    schedule 02.03.2012
comment
спасибо за ответ .. но, поскольку я новичок в Solr .. поэтому я не очень понимаю ваш ответ ... Когда вы сказали другое ядро ​​Solr .. вы имели в виду другой обработчик запросов .. ?? - person Ramandeep Singh; 02.03.2012
comment
ядра Solr — это отдельные индексы для документов, структура которых отличается. В вашем примере: cars и attributes и articles. - person beerbajay; 02.03.2012