2010-12-09 2 views
0

Я хочу индексировать данные в нескольких базах данных нашего приложения в lucene. как структурировать индекс? указатель на таблицу, чтобы столбцы были полями, а данные - значениями? или индекс на базу данных, столбцы таблицы переменных с полями diff lucene? если нет, то как структурировать индекс, чтобы поиск и обслуживание не были сложными? предполагая 100 таблиц на базы данных и 10 тыс. строк на таблицу.Индексирование записей базы данных в lucene

ответ

0

Это полностью зависит от базовых данных и того, как вы хотите запросить его, и, не зная этого, невозможно дать окончательный ответ.

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

Другим фактором, определяющим поля, которые вы назначаете документу, будет то, как вы хотите запросить данные.

К примеру, учитывая следующие нормализуется схемы:

TABLE:AUTHOR  COLS:AUTHOR_ID,NAME 
TABLE:BOOKS   COLS:BOOK_ID,TITLE,CONTENT 
TABLE:AUTHOR_BOOKS COLS:AUTHOR_ID,BOOK_ID 

Вы можете индексировать один документ на автора/книги:

Document (field1:author, field2:title, field3:content) 

Это позволит вам искать книги соответствует либо автору , название или содержание.

Смежные вопросы