Роман, я вот щас повторно читаю релизные ноты от реда. Пропускаем
лирику и натыкаемся на FTS$ADD_FILED_TO_INDEX. Вкратце - добавить поле
таблицы к индексу. Ы!!! Нету у меня в базе данных, они у меня из
процедур получаются, в виде выходного блоба.

Пльохо...

Снова опишу задачу, поточнее:

1) В базе есть таблица, в которой главное поле ID
2) В базе есть процедура, которая по ID может получить блоб. Также,
разумеется, есть процедура, засовывающая блоб куда надо и занося
запись с идом в эту таблицу.
3) Хотелось бы:
  а) Модифицировать процедуру, засовывающую блоб куда надо на предмет
"поанализировать" засовываемый блоб на полнотекст. Причем как и блоб,
таки и получившаяся инфа должна быть ассоциирована с этим ИДом.
  б) Иметь инструмент "поискать полнотекстово", который мог бы мне
вернуть ИДы, где это дело встречается.

Я релиз-ноты не читал, но думаю, что работать этот вариант не будет. Индексирование работает в фоновом режиме (как впрочем и в других братьев по разуму)... то, что ты в другом посте написал про конкурентную среду как раз и есть частичная причина пост-индексирования (в Люцене только один писатель для индекса возможен). Вторая - быстродействие.

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

ЗЫ: Я правильно понимаю что прикручивание Люцены, это твоих рук дело?
(Конфу читаю очень давно - некоторые моменты помню)

Идея от меня (когда-то я и статью написал), прототип на какой-то конференции представлял, Николай там был, идею понял, Женя идею реализировал.

Роман

Ответить