Индексирование базы данных записей в люцене - PullRequest
0 голосов
/ 09 декабря 2010

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

1 Ответ

0 голосов
/ 09 декабря 2010

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

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

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

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

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)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...