Valdemar
Новичок
Полнотекстовый поиск без Oracle Text и RCO
Всем привет!
Тема полнотекстового поиска достаточно избита и есть конкретные способы ее решения с помощью Oracle Text и RCO, но у меня пренеприятнейшая ситуация, пользоваться этими средствами нельзя, они очень дороги, и заказчик не хочет на них раскошеливаться!
Поэтому первый вопрос: есть ли какая-нибудь альтернатива этим инструментам?
Вопрос второй: возможно-ли как-нибудь по другому можно решить данную проблему?
Что касается второго вопроса, то есть одно соображение:
Нужно проиндексировать слова в каждом документе, но сделать это так
1.Создать таблицу-словарь, где есть 2 поля, где
WORD_ID - код слова;
WORD_VALUE - значение слова
2.Создать таблицу связей между документами и словами, где
WORD_ID - код слова
DOC_ID - код документа
POSITION - порядковый номер слова в документе
Вообщем-то удостовериться в том что слова поиска есть в документе не представляет проблемы, но нужно убедиться что слова идут друг за другом?
Иными словами позиция слова с индексом i+1 минус позиция слова с индексом i будет равна 1, ну или какому-то другому допустимому значению, к примеру от 1 до 3.
Вот в этом и есть проблема, мне самому такой запрос не построить, моих знаний SQL точно не хватит!
Могу предположить что это можно сделать используя PL/SQL, вот только в нем я совсем не силен!
Please HELP !!!!
Всем привет!
Тема полнотекстового поиска достаточно избита и есть конкретные способы ее решения с помощью Oracle Text и RCO, но у меня пренеприятнейшая ситуация, пользоваться этими средствами нельзя, они очень дороги, и заказчик не хочет на них раскошеливаться!
Поэтому первый вопрос: есть ли какая-нибудь альтернатива этим инструментам?
Вопрос второй: возможно-ли как-нибудь по другому можно решить данную проблему?
Что касается второго вопроса, то есть одно соображение:
Нужно проиндексировать слова в каждом документе, но сделать это так
1.Создать таблицу-словарь, где есть 2 поля, где
WORD_ID - код слова;
WORD_VALUE - значение слова
2.Создать таблицу связей между документами и словами, где
WORD_ID - код слова
DOC_ID - код документа
POSITION - порядковый номер слова в документе
Вообщем-то удостовериться в том что слова поиска есть в документе не представляет проблемы, но нужно убедиться что слова идут друг за другом?
Иными словами позиция слова с индексом i+1 минус позиция слова с индексом i будет равна 1, ну или какому-то другому допустимому значению, к примеру от 1 до 3.
Вот в этом и есть проблема, мне самому такой запрос не построить, моих знаний SQL точно не хватит!
Могу предположить что это можно сделать используя PL/SQL, вот только в нем я совсем не силен!
Please HELP !!!!