Создание документов в SOLR ..? - PullRequest
0 голосов
/ 02 марта 2012

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


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

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

Таблица "attribute" jc_attributes": id , имя_атрибута

A Таблица много-к-многим между атрибутами и машинами: " jc_car_attributes ": carID , attributeID , значение

Таблица "article": jc_articles : id, title, description

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

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

  • Поиск Все автомобили с их атрибутами (например, цена)
  • Поиск Все статьи, относящиеся к этому автомобилю

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

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

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

1 Ответ

1 голос
/ 02 марта 2012

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

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

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

...