В то время как отдельные продукты для работы с текстами вынуждают разработчиков использовать специализированные средства разработки, ConText поддерживает стандартный SQL, что позволяет использовать стандартные приемы при проектировании ИС. Разработчики, создавая ИС, могут работать с любыми средствами разработки, “понимающими” SQL, такими как PowerBuilder, SQL*Windows, Visual Basic и т.д.
Мощный язык запросов
Для организации контекстного поиска в OCC используется инвертированный индекс - каждому слову ставятся в соответствие номера документов, в которых это слово содержится. Дополнительно OCC хранит информацию о положении слова в документе. Это позволяет организовать поиск по фразе или выражению, а также поиск по “близости” слов в тексте.
OCC позволяет реализовать
· Точный поиск по слову/фразе
· Поиск по шаблону
· Поиск с учетом “весов”
· Поиск с учетом “близости”
· Поддержка тезаурусов
· Ранжирование документов по релевантности
· Нечеткий поиск
· Булева логика
· Стоп лист
Минусы
OCC поддерживает любой 8 битный character set, и формально позволяет работать с текстами в любых кодировках, поддерживаемых СУБД Oracle, но при этом, не обеспечивает функциональные возможности, доступные для англоязычных текстов. Частично эти возможности реализованы для французского, немецкого, итальянского, испанского и датского языков. В частности, для русскоязычных текстов не поддерживаются следующие возможности OCC:
· Stemming – расширение запроса всеми возможными словоформами
· fuzzy matching – расширение запроса словами похожими по написанию, что позволяет уменьшить вероятность ошибок, возникающих при ошибках сканирования
· Soundex – расширение индекса словами созвучными с встречаемыми в индексируемом тексте.
Это связано с зависимостью реализации этих возможностей от морфологии, лексики, семантики и фонетики языка.
Помимо отсутствия поддержки стандартных возможностей OCC, при работе с русскими текстами возникает ряд проблем связанных с существенными различиями в структуре русского и английского языков.
Суммируя, перечислим основные сложности, с которыми встречается пользователь OCC при работе с русскими текстами:
1. Большой размер индексов, создаваемых OCC – эта проблема становится очень существенной для средних и больших баз данных.
2. Невозможность поиска документов, содержащих все словоформы слова, заданного в запросе. Например, для поиска документов, содержащих слово “президент”, необходимо либо перечислить все возможные словоформы в запросе, либо использовать шаблон для поиска - “президент%”. В последнем случае будут найдены документы, содержащие “президент” + словоформы, “президентский” + словоформы и т.д., то есть существенно больше документов, чем требовалось.
3. Невысокая производительность обработки запросов – вызвано большим размером индекса, и необходимостью расширять запрос шаблоном.
4. Невозможность создавать тезаурус
Что такое RCO
RCO позволяет полностью преодолеть вышеперечисленные сложности работы с OCC. Это решение основано на открытых стандартах и спецификациях Oracle и не ограничивает возможности OCC.
Основные характеристики RCO:
1. Размер индекса сокращается в 5-10 раз и составляет 10 – 20 процентов от объема индексируемого текста.
2. Поиск документов происходит с учетом всех словоформ, при этом в запросе слова для поиска могут встречаться в любой морфологической форме.
3. Предоставляется возможность исключать части речи, не используемые в запросах (наречия, местоимения, предлоги) из индекса.
4. Предоставляется возможность создания тезауруса.
5. Настройки RCO не влияют на настройки OCC, что позволяет работать с базами данных, содержащими одновременно тексты на поддерживаемых OCC языках и русском.
6. Предлагаются специальные настройки для документов в формате HTML при создании индекса.
7. RCO поддерживает обработку словарных конструкций, состоящих из цифр, русских и латинских букв.
8. Поддерживаются все кодовые страницы русского языка.
9. Поддерживаются документы в большинстве двоичных форматов.
10. Скорость поиска увеличивается в 3-5 раз.
Дата: 2019-05-28, просмотров: 205.