Настроить оценку поиска в лазурном режиме особым образом

Рассмотрим сценарий, в котором все документы имеют следующие поля

введите здесь описание изображения

Требование состоит в том, что для электронной почты оценка должна быть либо 100 (при точном совпадении), либо 0. Для остальных полей она составляет от 0 до 100 в зависимости от расстояния редактирования.

Предположим, что в индексе записи выглядят следующим образом

1.abcd @ gmail.com, Питер, Паркер, разработчик 2.xyz @ yahoo.com, Стив, Смит, менеджер

Запрос выполняется по нечеткому поиску по всем полям и параметрам типа abcd @ gmail.com, Pet, Par, Devl

Результат поиска должен иметь оценку для первой записи, например

оценка электронной почты + оценка фамилии + оценка имени + оценка титула

= 100 + 50 (приблизительное расстояние редактирования для 'Peterr and Pet') + 50 (приблизительное расстояние редактирования 'Peterr and Parker') + 44 (приблизительное расстояние редактирования 'Devl and Developer')

=244

Точно так же результат поиска должен иметь такой же балл.

Я только что проверил, что у оценки поиска Azure есть веса, но я не думаю, что они будут очень полезны в таких сценариях. в соответствии с оценкой, о которой я говорил выше


person Ayan    schedule 02.02.2017    source источник


Ответы (1)


Чтобы уточнить, кажется, что вам нужна формула оценки, которая должна быть функцией расстояния редактирования между термином запроса и индексированным термином - чем короче расстояние, тем выше оценка. К сожалению, в Поиске Azure это невозможно.

Поисковая система Azure выполняет поисковый запрос в два этапа: извлечение и оценка.

При поиске условия поискового запроса обрабатываются лексическим анализатором ищутся в инвертированном индексе. Документы, в которых были эти условия, возвращаются. Когда вы используете нечеткий поиск, мы расширяем ваш поисковый запрос, добавляя термины из инвертированного индекса, которые находятся в пределах редактировать расстояние от заданного термина запроса - нечеткое расширение. Таким образом, ваш запрос может соответствовать большему количеству документов.

Во время оценки мы присваиваем оценку релевантности извлеченным документам с помощью Формула подсчета очков Lucene. Эта формула основана на TF / IDF. Фактически это означает, что документы, в которых совпадают редкие термины, будут иметь более высокий рейтинг в наборе результатов.

Важно знать, что формула оценки Lucene применяется только к документам, которые соответствуют исходным условиям запроса и условиям, добавленным посредством нечеткого расширения. Документам, которые соответствуют условиям, добавленным посредством расширения префикса или регулярного выражения / подстановочного знака, присваивается постоянный балл 1. Таким образом, эти документы будут в наборе результатов, но не будут влиять на ранжирование, основанное на частоте использования терминов.

надеюсь, это поможет

person Yahnoosh    schedule 02.02.2017