Обработка текстовых запросов через SQL
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

В то время как отдельные продукты для работы с текстами вынуждают разработчиков использовать специализированные средства разработки, 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, просмотров: 183.