b5ab525c

Поиск взвешенных форм


Наконец, последним видом приближенного поиска является поиск взвешенных форм (Weighted Term). При взвешенном поиске мы можем указать степень важности появлений отдельных слов и фраз в тексте. При поиске эти веса скажутся на рейтинге, т.е. степени соответствия, найденных записей. Поясним это на примере. Предположим, что мы интересуемся курсом доллара и немецкой марки. Однако сведения о курсе доллара представляют для нас больший интерес. В таком случае мы можем приписать появлению слова доллар

рядом со словом курс вес больший, чем словосочетанию немецкая марка. В таком случае может образоваться следующий запрос:         

SELECT Header FROM Articles WHERE CONTAINS(*, 'ISABOUT( "курс*",

                       

"доллар*" WEIGHT(0.7),

                       

FORMSOF(INFLECTIONAL, "немецкая марка") WEIGHT(0.3) )')

Здесь оператор ISABOUT указывает на поиск по взвешенным формам. Первый параметр задает «основной» термин в запросе, а остальные две записи задают возможные варианты словосочетания, причем модификации курс доллара приписан вес 0.7, а сочетанию курс немецкой марки — 0.3. Обратите внимание, что слово доллар задано в префиксной форме, а словосочетание немецкая марка — в виде образованных форм. К сожалению, информацию о весах найденных записей с помощью предиката CONTAINS получить нельзя. Однако эта информация доступна при использовании функции CONTAINSTABLE. По этой причине операция ISABOUT чаще всего применяется именно в сочетании с CONTAINSTABLE.



Содержание раздела