2016-04-22 2 views
1

Я пытаюсь переместить мой сайт с SQL-сервера на Azure Search (или, по крайней мере, на основные функции поиска). Я считаю, что понимаю, как восстановить большинство функциональных возможностей, но я застрял на одной функции, которая является ключевым для моего сайта.Могу ли я использовать Azure Search для сортировки результатов на основе тега weight

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

Похоже, вы можете это сделать в поиске elastics: (Elastic search - tagging strength (nested/child document boosting)). Но это использует особенности elasticsearch, которые не отображаются в Azure Search.

Я не вижу способа использовать скоринговые профили (https://msdn.microsoft.com/en-us/library/azure/dn798928.aspx) для этого.

Единственное, что я вижу, что может работать в ограниченном смысле, это добавить поле для каждого тега, который я хочу сортировать. На данный момент это может работать для моего конкретного случая, но в конечном итоге я хотел бы сделать эту работу для пользовательских тегов.

Возможно ли это в широком смысле, изложенном в случае эластичного поиска?

ответ

1

Я согласен с тем, что на данный момент лучший способ сделать это - иметь отдельное поле, которое периодически обновляется с подсчетом числа пользователей, которые отметили документ. Обратите внимание, что вы можете быть довольно эффективным с этим обновлением, просто разместив это числовое значение, используя merge or mergeOrUpload. Если вы хотите, чтобы эта функция была добавлена ​​в Azure Search, было бы здорово, если бы вы могли cast your vote.

+0

Спасибо Liam. Я голосовал за это. И теперь у меня это работает. Приятно, что хотя обновление индекса довольно ограничено, я могу добавить новый тег без перестройки индекса. Но ограничение «базового» уровня цен на 100 полей означает, что это не может быть долгосрочным решением для меня. –