Мы используем Lucene.net для поиска в нашем приложении, мы делаем это в хорошей манере. Теперь нам нужно поддерживать несколько языков, поэтому я хотел бы спросить, какую стратегию мы должны использовать для индексирования, индексирование разных языков в разных папках индекса с различным анализатором, в той же папке индекса, где есть документы, поля английского языка и других языков (у нас в результате слишком много полей, повторяющихся полях на язык) или есть ли другая альтернатива? Pravin ThokalСтратегия индексации Lucene с поддержкой MultiLingual
ответ
Идеальной стратегией было бы иметь дополнительное языковое поле и другие существующие поля, которые могут занимать контент на многих языках. Значение языкового поля динамически выбирает различные языковые анализаторы для многоязычных полей. Но по сути, одно поле будет иметь содержимое на многих языках, что влияет на термин статистика.
Поскольку термин в Lucene является полем: термин, для языков, имеющих общие слова, термин статистики будет представлять собой проблему, особенно если на одном языке термин является часто используемым словом, а в другом - необычным словом. Худший случай - слово остановки на одном языке и важный термин на другом языке. Если это так, это не стратегия. Тем не менее, для вашего языка, возможно, что нет никакого влияния на термин статистика, а словари на разных языках являются взаимоисключающими. В этом случае вы можете ожидать, что TFIDFS будет работать. Если вы используете другие классы сходства, они должны в основном работать хорошо, если TFIDF работает.
Для других стратегий:
Это, безусловно, зависит от а) Нет языков для поддержки (говорят м) б) Нет полей, которые должны быть многоязычным (скажем, п)
В случае. как т и п меньше, то вы можете пойти на multifields подход:
(en -english, jp - Japanese, fr - French)
field1_en, field1_jp , field1_fr,
field2_en, field2_jp , field2_fr.
Если вы не попали т * п больше чем 1000+ полей, это безопасная стратегия. Эффект Лученей снижается, когда ни один из полей не огромен.
В случае, если языков не очень мало, может работать другая папка индекса (другая схема), но обратите внимание, что если вам нужно возвращать результаты с разных языков, это вызывает беспокойство во многих поисковых системах. Однако Elastic Search делает все возможное.
- 1. Lucene Пространственной Стратегия
- 2. Стратегия индексации MySQL
- 3. стратегия индексации solr
- 4. Оптимизировать Lucene партия индексации
- 5. Производительность индексации Lucene
- 6. Оптимизация индексации lucene 5.2.1
- 7. Стратегия обновления индекса lucene
- 8. Стратегия индексации MySql с несколькими общими столбцами
- 9. Запрос токенов lucene без индексации
- 10. Сброс или очистка индексации Lucene
- 11. избегать индексации документов снова Lucene
- 12. лучшая стратегия индексации суммы/случай запрос
- 13. Какова оптимальная стратегия индексации для таблицы отношений?
- 14. Lucene: перенос версий Java без повторной индексации
- 15. Lucene Analyzer для индексации и поиска
- 16. Анализатор Lucene 4.2 при индексации полей
- 17. Как исключить номера из индексации Lucene?
- 18. Дата Формат для индексации в lucene
- 19. Lucene ищет содержимое внутри файла без индексации.
- 20. Drupal multilingual
- 21. Sitecore Multilingual
- 22. Virtuemart multilingual
- 23. Стратегия Lucene Indexing/Query для переносимых слов
- 24. Сортировка во время индексации с использованием lucene 4.0
- 25. codeignitor multilingual form_validation_lang.php
- 26. Disqus comment counter multilingual
- 27. .net multilingual cms
- 28. Multilingual JPA отображение объекта
- 29. Лучшая стратегия индексации для нескольких столбцов varchar в Postgres
- 30. Стратегия для сканирования/индексации часто обновляемых веб-страниц?
В моем единственном документе имеется около 50 полей, и я планирую поддерживать 7-8 языков, что будет лучшей стратегией для индексирования и поиска для поддержания производительности. –