Векторные запросы
Векторные запросы возвращают документы, соответствующие заданному списку слов и фраз. Документы, возвращенные по запросу в пространстве векторов, не должны обязательно содержать все элементы запроса. Ранжирование каждого документа выполняется в зависимости от того, насколько он соответствует запросу.
Для задания относительной важности слов в ранжировании результатов можно назначать им вес. Вес может изменяться от 0,0 до 1,0. Например, в запросе в пространстве векторов настольная, лампа при ранжировании результатов оба слова обладают равным весом. В запросе {weight value=0,1} настольная, {weight value=0,3} лампа, {weight value=0,6} настольная лампа слово «лампа» в три раза важнее слова «настольная», а фраза «настольная лампа» в два раза важнее слова «лампа». Если вес не задан, по умолчанию службой индексирования используется вес 1,0. Дополнительные сведения о задании веса содержатся в разделе Вес слов.
В следующей таблице приведены примеры векторных запросов.
Искомые объекты |
Пример |
Результат |
Документы, содержащие определенные слова |
настольная, лампа |
Документы, содержащие одно или оба искомых слова. Документы, содержащие оба слова, будут ранжированы выше, чем документы, содержащие одно слово. |
Документы, содержащие префиксы, слова и фразы |
оборуд*, {weight value=0,1} настольная, {weight value=0,3} лампа, {weight value=0,6} "настольная лампа" |
Документы, содержащие слова, начинающиеся на «оборуд», слова «настольная», «лампа» и фразу «настольная лампа». Документы, содержащие слово «лампа», ранжируются выше, чем документы, содержащие слово «настольная», но ниже, чем документы, содержащие фразу «настольная лампа». |
Ниже приведен пример запроса в пространстве векторов в длинной форме.
{vector RankMethod = max} {ve} {weight value=0,250}класс {ve} {weight value=0,500}совпадение {ve} {weight value=1,000}курсор {/vector}
Короткой формы запроса в пространстве векторов не существует.
Параметр RankMethod задает алгоритм, используемый службой индексирования для ранжирования результатов запроса. Выражение векторного запроса должно быть обособлено тегами {/vector}.
Тег {ve} (элемент вектора) означает, что следующее выражение является элементом векторного запроса. Весь текст после тега {ve} до следующего тега {ve} считается запросом. Закрывающего тега {ve} не существует.
Пример:
{vector RankMethod = "Jaccard"} {ve} {weight value=0,200} @contents CONTAINS "принтеры" OR {coerce} "драйвер принтера" {ve} {prop name=DocTitle} {freetext} принтер Hewlett Packard HP laser jet {/freetext}{/prop} {ve} @contents завис** {/vector}.
См. также:
|