|
Форум
|
Сергей Лисицын |
30.08.05, 00:06 |
|
Просьба помочь с RCO for BackOffice |
|
Использую ваш продукт "RCO for BackOffice" для MS SQL Server 2000
Использую запрос типа: select * from MyTable where Contains (TextData, 'FORMSOF (INFLECTIONAL, "дерево" )')
Всё великолепно ищется, но есть проблема: как определить какое именно слово было найдено в тексте ("деревО", "деревOM", "деревУ", "деревЬЯМ" ... и т.д. )? Другими словами как получить все словоформы для слова по которому производится запрос?
Заранее спасибо. |
|
|
Плешко Владимир |
30.08.05, 13:36 |
|
re: Просьба помочь с RCO for BackOffice |
|
Ваш вопрос, видимо, состоит из двух частей: 1. Какими словоформами было расширено слово. 2. Какие слова запроса нашлись в тексте.
Чтобы узнать, какие словоформы искались, вы можете обратиться напрямую к интерфейсу IStemmer. Это можно сделать для любого языка, поддерживаемого mssearch. В частности, RCO for BackOffice реализует этот интерфейс для русского языка. Более подробно, см. MSDN.
Относительно второго вопроса... Вы, наверное, имели ввиду аннотации - фрагменты текста документа, содержащие искомые слова. Через месяц - полтора мы планируем выпустить обновление RCO for BackOffice, включающее в себя небольшой SDK, состоящий из нескольких полезных объектов, предоставляющих следующие функции: - разбор запросов (преобразование запросов на языке с операторами +-&|!"" в предикат CONTAINS); - поиск стоп-слов (если задан +); - вычленение текста документов (обертка для IFilter); - построение аннотаций по запросу.
В этих функциях нет ничего уникального, но с их помощью можно будет создавать нормальные приложения на основе ms sql, mssearch, ms indexing services. |
|
|
Сергей Лисицын |
30.08.05, 13:57 |
|
re:re: Просьба помочь с RCO for BackOffice |
|
Владимир, большое спасибо! На самом деле у меня стояла задача «подсветить» (выделить) найденные слова. Я правильно понял, что эта задача может быть решена после выхода дополнительного SDK?
|
|
|
Плешко Владимир |
30.08.05, 14:12 |
|
re: re:re: Просьба помочь с RCO for BackOffice |
|
Ваша задача будет решена частично :(
В аннотациях найденные слова, конечно, будут подсвечены.
Выдачу всего текста документа с подсветкой всех найденных слов мы пока не планируем включать в это обновление.
Хочется сделать этот компонент как можно более общим. Ведь бывает потребность подсветить просто текст документа и собрать из него html, или подсветить готовый html, или подсветить бинарный документ (doc, pdf). Да и саму подсветку можно давать просто стилями, а можно добавит навигацию между словами. Надеюсь, в этом году у нас дойдут руки и до этого компонента. |
|
|
Сергей Лисицын |
30.08.05, 14:30 |
|
re: re: re:re: Просьба помочь с RCO for BackOffice |
|
Когда я говорил про «подсветить», я имел ввиду конечный вариант документа, который конечно же будет выполнен с помощью других инструментов... но, чтобы ими воспользоваться мне нужно получить все словоформы для слова, по которому производился поиск. Именно их я буду искать и «подсвечивать» в тексте. На сколько я понял это можно сделать и сейчас воспользовавшись интерфейсом IStemmer. |
|
|
Плешко Владимир |
30.08.05, 14:33 |
|
re: re: re: re:re: Просьба помочь с RCO for BackOffice |
|
Вы правы. Причем этот механизм будет работать и с другими языками. |
|
|
Сергей Лисицын |
30.08.05, 14:45 |
|
re: re: re: re:re: Просьба помочь с RCO for BackOffice |
|
Скажите, а в SDK появятся подобные функций? |
|
|
Плешко Владимир |
02.09.05, 14:40 |
|
re: re: re: re: re:re: Просьба помочь с RCO for BackOffice |
|
В SDK мы обертки для IStemmer втавлять не планировали. |
|
|
Голенков Владимир |
05.09.05, 10:08 |
|
SDK |
|
>В SDK мы обертки для IStemmer втавлять не планировали.
с другой стороны, в SDK будет компонента построения запроса (упоминалась выше) побочным результатом работы которой является выделение всех термов запроса с синтаксическим расширением слов, что и используется для построения аннотаций другой компонентой.
собственно, это можно использовать и для самостоятельной подсветки документа, плюс язык запросов в стиле google, yandex... |
|
|
|
|
|
| |