RCO for Oracle

just_vladimir
Дата: 29.09.2015 16:27:10
Есть задача по поиску в текстовом поле большой таблицы (спрашивал в соседней теме http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=540925&msg=18207882)
+

just_vladimir
Есть база на 11gR2, в ней есть таблица ~15 млрд записей, одно из полей это текст 200-300 символов, таблица нарезана на партиции, в каждой примерно по 10 млн записей. Необходимо выполнять запросы по одновременным условиям на следующие поля - поле по которому нарезаны партиции + одно индексированное числовое поле + вышеупомянутое текстовое поле, причем по текстовому полю необходимо уметь искать с учетом возможных словоформ (в идеальном случае - возможных опечаток и синонимов), а потом все это счастье еще и отсортировать по еще одному, уже 4-му полю (не индексированное).


В той теме мне рекомендовали посмотреть сабжевый продукт. Посмотрел, с функциональной точки зрения все понятно, на как оно реализовано нигде не могу прочитать. Может быть у кого нибудь есть опыт использования и мои вопросы покажутся банальными. Например, интересует следующее - в pdf'ке доступной на сайте говорится, что данный продукт создает некие свои индексы, что они из себя представляют? Это некие внешние файлы или это некие дополнительные таблицы внутри Oracle? Они сквозные или на партицию? При помощи чего они создаются, это некий внешний native код или PL/SQL? Просто непонятно, какую в итоге производительность можно получить.

В принципе на сайте они обещают, что по запросу расскажут и покажут свой продукт, наверное так и стоит поступить, но мало ли у кого есть опыт.
just_vladimir
Дата: 29.09.2015 17:56:54
xtender,
Спасибо, за ссылки, стало чуть понятней. А может у кого нибудь был личный опыт использования? Сильная просадка в скорости? Может бенчмаркал кто?
SQL*Plus
Дата: 29.09.2015 18:16:17
just_vladimir
xtender,
Спасибо, за ссылки, стало чуть понятней. А может у кого нибудь был личный опыт использования? Сильная просадка в скорости? Может бенчмаркал кто?
Продукту 15+ лет. Продукт работающий.
В 2007 г. мы его использовали в составе Oracle Secure Enterprise Search.
Года 3-4 назад, насколько я знаю, от внешних процедур на Си перешли к хранимым модулям на Java.

Звоните-пишите в RCO, договаривайтесь, пробуйте, покупайте.
Sayan Malakshinov
Дата: 29.09.2015 20:46:54
just_vladimir,

у меня опыта с RCO не было, зато был со Sphinx'ом - быстрый и не прожорливый движок. Попробуйте сами сравнить
AlexProOra
Дата: 29.09.2015 23:02:40
just_vladimir,

Не мучьте себя, для поиска используйте - Oracle Text (RCO for Oracle на его функционале построен кстати).
RCO Вам понадобиться если будет желание искать с учетом морфологии русского языка или захотите из текста объекты (юр. лица, физ. лица, адреса и т.д.) извлекать, но это уже другая тема....
SQL*Plus
Дата: 29.09.2015 23:10:01
AlexProOra
just_vladimir,

Не мучьте себя, для поиска используйте - Oracle Text (RCO for Oracle на его функционале построен кстати).
RCO Вам понадобиться если будет желание искать с учетом морфологии русского языка или захотите из текста объекты (юр. лица, физ. лица, адреса и т.д.) извлекать, но это уже другая тема....

just_vladimir
Есть база на 11gR2, в ней есть таблица ~15 млрд записей, одно из полей это текст 200-300 символов, таблица нарезана на партиции, в каждой примерно по 10 млн записей. Необходимо выполнять запросы по одновременным условиям на следующие поля - поле по которому нарезаны партиции + одно индексированное числовое поле + вышеупомянутое текстовое поле, причем по текстовому полю необходимо уметь искать с учетом возможных словоформ (в идеальном случае - возможных опечаток и синонимов), а потом все это счастье еще и отсортировать по еще одному, уже 4-му полю (не индексированное).
AlexProOra
Дата: 29.09.2015 23:54:24
SQL*Plus,
Все верно, просто словоформы можно получить иными способами (самый тупой вариант - из TOKEN_TEXT индекса Oracle Text с учетом окончаний), можно конечно и RCO купить - тут хозяин барин, зависит от точности задачи, с Oracle Text полюбому придется для начала работы разбираться...
Валерий Юринский
Дата: 30.09.2015 10:29:14
Нашел сведения о выступлении Миши Тюленева на Oracle-Club 31 июля 1997 г.
http://oraclub.trecom.tomsk.su/mano1998.htm
Сходка 9. Очевидное-невероятное (31 июля 1997 г., 15:30)
...
5. "Oracle7 Server ConText Cartrige (ex-ConText Option)"
Михаил Тюленев ("Гарант парк", Москва) (30 минут + 10 минут)

Наконец-то широкая публика узнала, что такое ContText Cartrige (ex-Option)
и какую полезную "примочку" сделали для него (неё) в "Гарант парк".
"Примоченный" Cartrige, например, позволит Вам найти, по контексту 'идти'
и такие документы, в которых содержатся слова 'шли', 'шёл', 'пошли', 'пошел'...


Речь шла как раз о Russian Context Optimizer (RCO).
Через какое-то время из "Гарант парк" была выделены компания RCO.
just_vladimir
Дата: 30.09.2015 13:49:34
xtender,
честно говоря не очень понимаю, как можно прикрутить сфинкс к моей задаче, мне кажется получится совсем не жизненно.

AlexProOra,
про Oracle Text результаты пока получались не очень удовлетворительные, но возможно просто не умеем его готовить, еще будем копать.

SQL*Plus,
так и поступим, будем писать-звонить в RCO.

Всем спасибо!