Slides from SPCUA 2013 SharePoint Ukraine – Enterprise Search

22 мая я вместе с Иваном Подобедом ездил в Киев выступать на SPCUA : киевской конференции SharePoint Conference Ukraine 2013. Иван рассказал про Shredded Storage в 2013, а я о том что надо и не надо делать чтобы потроить успешный и хорошо ищущий поисковый портал, а также как считается релевантность в поске шарепоинта и при чем тут гиперболический тангенс, о ужас.

http://spcua.com/speakers/kozhemyakin

Скачать слайды можно по ссылке, либо на slideshare

Также можно почитать “статью”, которая , по неизвестной причине, оказалась выложена в версии “черновик”, а не “финальный вариант”.

А еще можно оставить отзыв о моем докладе и о конференции в целом можно тут : http://spcua.com/news/ostavte-svoj-otzyv-o-spcua-2013

Исследование релевантности поиска в SharePoint2013

Модель ранжирования результатов поиска SharePoint 2013 притерпела серьезные изменения по сравнениею с SharePoint 2010, а также FAST Search for Sharepoint. Более подробную инфорамацию можно получить из соответвуюшего патента. В кратце, для ранжирования используется несклько ранкинг моделей(в том числе BM25F) результаты от которых в последствии обрабатываются нейронной сетью для получения итогового ранка.

К счастью, есть довольно простой способ заглянуть за ширму и познакомится с черной магией поближе. Чтобы продемонстрировать это на примере я изменил Display Template резульатов поиска, добавив ссылку на страницу ExplainRank.aspх которая расположения в  папке {search_center_url}/_layouts/15/.

1 - starwars

В качестве параметров я использовал

  • d=ctx.CurrentItem.Path
  • q=QueryText из свойства ctx.ListData.Properties.SerializedQuery , сырое значение которого равно<Query Culture=”en-US” EnableStemming=”True” EnablePhonetic=”False” EnableNicknames=”False” IgnoreAllNoiseQuery=”True” SummaryLength=”180″ MaxSnippetLength=”180″ DesiredSnippetLength=”90″ KeywordInclusion=”0″ QueryText=”star wars” QueryTemplate=”{searchboxquery}” TrimDuplicates=”True” Site=”1436c4c3-34b4-4e32-bd41-4d28fc0f1435″ Web=”5291616c-f750-45db-9e3b-68c7c2e82b9f” KeywordType=”True” HiddenConstraints=”” />”)

В процессе рендеринга страница ExplainRank.aspx выполняет следующие действия, и по сути можно легко создать ее аналог:

  • Подготавливает KeywordQuery  используя в качестве конфигурации значения из параметров URL которые мы ей передал.  Справедливости ради стоит отметить что возможно передать больше двух параметров (как в нашем примере) но это не было сделано чтобы сохранить простоту.
  • Запрашивает в запросе свойство rankdetail.
  • Выполняет запрос.
  • Обрабатывает значение из свойства rankdetail с помощью RankLogParser (Microsoft.Office.Server.Search.Administration)
  • Отрисовывает извлеченную информацию с помощью ряда специализированных RenderableRankingFeature (Microsoft.Office.Server.Search.WebControls)

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

3 - explainrank

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