2014-12-10 2 views
1

Я реализую Solr на сайте электронной коммерции. Теперь, поскольку на сайте электронной коммерции поддерживается несколько языков, я просто хотел узнать, как я могу управлять несколькими языками в одном ядре solr? У меня красный цвет о нескольких языках в одном поле. Кто-нибудь может предложить, как я могу индексировать и запрашивать несколько языков в одном поле? Любой пример?Несколько языков в одном ядре в Solr

Спасибо!

+0

Возможный дубликат [Как определить тип поля для поля, содержащего как китайский, так и английский] (http://stackoverflow.com/questions/25347429/how-to-define-a-field-type-for-field -Вот-содержит, как-китайский-и-английски) – MatsLindh

ответ

0

У вас может быть несколько языков в одном поле. Разумеется, это «повредит» ваши частотные векторы и частоту, но если вы запросите использование запроса на конкретный язык, скажем, fq: en, тогда частота частот будет откалибрована только до этого.

Я бы предположил, что вы используете общие поля для всего, что не связано с языком (id, category, quantity и т. Д.), Но описание и названия, которые вы могли бы сохранить в своих полях, таких как 'description_en', 'title_en'.

Для специфических для языка методов вы можете определить конкретные анализаторы языка для оптимизации эффективности поиска и индексирования, посмотрите на https://wiki.apache.org/solr/LanguageAnalysis.

Затем, чтобы получить доступ к этим полям, вы можете определить, какое поле указывать/запрашивать в зависимости от языка пользователя или страны-хранилища.

0

Эта проблема была обсуждена несколько раз в списке рассылки SolrUser. Нет простого решения, все зависит от компромиссов. Список рассылки не отображается в Google столько, сколько должно быть, но вы могли бы search it with specialized interface.

Но другие варианты также должны указывать языки отдельно, а затем использовать eDisMax для поиска всех вариантов. У меня есть an example (из моей книги) на GitHub.