Я внедряю Solr на сайте электронной коммерции. Теперь, когда на сайте электронной коммерции поддерживается несколько языков, я просто хотел узнать, как я могу управлять несколькими языками в одном ядре solr? У меня красный о нескольких языках в одном поле. Может ли кто-нибудь предложить, как я могу индексировать и запрашивать несколько языков в одном поле? Любой пример?
Спасибо!
2 ответа
У вас может быть несколько языков в одном поле. Это, конечно, «повредит» ваши векторы частот и частоту терминов, но если вы запрашиваете, используя запрос фильтра для конкретного языка, скажем, fq: en, тогда частота терминов будет откалибрована только для этого.
В любом случае я бы предложил вам использовать общие поля для всего, что не связано с языком (идентификатор, категория, количество и т. д.), но описание и заголовки, которые вы можете сохранить в своих собственных полях, таких как «description_en», «title_en».
Чтобы узнать о методах, специфичных для языка, вы можете определить специальные языковые анализаторы для оптимизации поиска и эффективности индексации, взгляните на https:/ /wiki.apache.org/solr/LanguageAnalysis.
Затем, чтобы получить доступ к этим полям, вы можете определить, какое поле индексировать/запрашивать, в зависимости от языка пользователя или страны магазина.
Эта проблема несколько раз подробно обсуждалась в списке рассылки SolrUser. Простого решения нет, все зависит от компромиссов. Список рассылки не так хорошо виден в Google, как должен быть, но вы можете ищите в специализированном интерфейсе.
Но другие варианты — также отдельно индексировать языки, а затем использовать eDisMax для поиска по всем вариантам. У меня есть пример (из моей книги) на GitHub .
Похожие вопросы
Связанные вопросы
Новые вопросы
solr
Apache Solr - это поисковый сервер с открытым исходным кодом, основанный на поисковой библиотеке Lucene Java.