2016-11-20 5 views
0

У меня есть база данных, которая содержит ключевые слова для элементов, а также их локализации на разных языках (поддерживая около 30 разных языков прямо сейчас), если они есть для этого элемента. Я хочу, чтобы иметь возможность искать эти элементы, используя Azure Search. Однако я не уверен, как настроить индексную архитектуру. Два решения приходят на мой взгляд, в этом сценарии:Поиск по нескольким языкам на Azure Поиск

Либо я

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

или

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

Я как бы новичок в этом, поэтому любые указатели, ссылки, идеи и т. Д. Окажут огромную помощь, даже если это не ответит на вопрос напрямую.

ответ

3

Вариант 2 - это то, что мы рекомендуем (с одним индексом с одним полем на язык). Вы можете установить некоторые статические приоритеты, назначив вес полей с использованием профиля подсчета очков. Если вы можете обнаружить язык, используемый в запросе, вы можете охватить поиск только этим языком, используя опцию searchFields.

+0

Спасибо, Брюс, я попробую этот подход. Я не уверен, могу ли я определить язык, используемый в запросе, но я могу попытаться использовать местоположение пользователя для прогнозирования языка. – halileohalilei

+1

В чем проблема варианта 1? –

+0

Две проблемы с вариантом 1: во-первых, определение языка сложно. Во-вторых, вы можете разрешить поиск, который может быть на одном из нескольких разных языков. Наличие данных в разных индексах означает, что вам придется выполнять несколько запросов и найти способ согласования нескольких результатов самостоятельно. –

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