Функция поиска объяснения Azure
Я пытаюсь понять, как был сгенерирован выигрыш для совпадений с поиском в Azure, поскольку некоторые из моих результатов явно странные (хотя, возможно, и правильные, если только я понял почему!) Официально ничего не задокументировано, но есть ли что-то вроде Lucene Explain для Azure Search?
Спасибо
1 ответ
Метод оценки по умолчанию использует алгоритм TF-IDF для вычисления значения для каждого доступного для поиска поля в документе. Эти значения затем суммируются для создания окончательного результата.
Подробнее о TFIDF можно узнать здесь: https://lucene.apache.org/core/4_0_0/core/org/apache/lucene/search/similarities/TFIDFSimilarity.html Similarities/TFIDFS Similarity.html.
Вы можете изменить счет дальше, используя профили оценки, чтобы увеличить счет определенных полей. https://docs.microsoft.com/en-us/rest/api/searchservice/add-scoring-profiles-to-a-search-index
Он там, у меня была та же проблема, что и у вас. Мой клиент просил меня помочь улучшить производительность поиска. Поэтому я реконструировал алгоритм оценки в Поиске Azure и задокументировал его в блоге. Пожалуйста, взгляните на него и дайте мне знать, если это полезно.
В основном это сводится к следующему уравнению.
totalscore = (weightedfieldscores) ∗ (functionaggregration)
weighted field scores = (f*w) + (f*w) + ...
Где
f
оценка поля TF-IDF, и
w
вес, настроенный в профиле подсчета очков для соответствующего поля. Сумма взвешенных оценок полей и есть общая взвешенная оценка полей.
Это будет умножено на совокупную оценку функции. Это следующее:functionaggregration = fa(f1(x), f2(x), ...)
. где
fa
- функции агрегирования, это может быть сумма всех функций или первых, или средних значений и т. д.
f1
,
f2
- это сами теги, величины и т. д.
Пожалуйста, дайте мне знать, если это вам поможет.
https://dibranmulder.github.io/2020/09/22/Improving-your-Azure-Seach-performance/