2016-09-12 2 views
0

Мне нужно использовать алгоритмы машинного обучения для сортировки/ранжирования результатов запроса. Наши запросы работают на elasticsearch. Для этого нам необходимо объединить данные из самого документа из раздела объяснения (хотя объяснение не должно быть возвращено) и из внешних источников.Сортировка и оценка в elasticsearch

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

Создания скоринг плагина будет работать на все документы ; Я не видел возможности создания плагина для этапа rescoring. Итак, похоже, что я должен создать плагин сортировки.

Мой вопрос: сколько документов проходит через фазу сортировки? Есть ли способ управлять им (например, window_size в rescore)? Что произойдет, если у меня есть разбивка на страницы? Повторяется ли моя сортировка? Возможно ли получить 1000 документов с разделом объяснения на фазу сортировки и вернуть только 100 без объяснения?

Спасибо!

ответ

0

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

использование rescoring в сочетании с скоринга плагин, rescoring algo работает только сверху N результатов

-После того как многие документы проходят через фазу сортировки?

все, что соответствует запросу, если вы просили N Docs, каждый осколок посылает верхний N, а затем они объединяются вместе

-Что произойдет, если у меня есть разбиение на страницы - это моя сортировка работает снова?

да, снова и хуже сортировки трасс, если вы просили документы сюда 100000 до 100010, сортировка происходит по 100010 документации на осколок

+0

Благодарности. как я могу совместить оценку и оценку? Мне нужно запустить тяжелый алгоритм для каждого документа, поэтому мне нужно сделать это на этапе rescore. как я могу запустить свой собственный алгоритм на rescore? – Yonatan

+0

также, касающийся сортировки - если я прошу 10 документов из 100, и я сортирую его по дате создания. чтобы получить 10 лучших, он должен заказывать до 100. Я что-то упускаю? как получилось, что он работает только на 10? – Yonatan

+0

вы можете использовать _score для доступа к оценке документа, проверьте эту страницу для получения дополнительной информации, https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html. –

Смежные вопросы