Многоязыковой индекс vs индексы

В Мантикоре “из коробки” поддерживается множество языков, в связи с чем возникает вопрос: корректно ли использовать один индекс под большое количество non_cjk языков, или лучше укладывать разноязычные тексты в разные индексы. Под “лучше” - понимаю здесь качество поиска по загруженным текстам.

Т.е. возможно ли ухудшение качества поиска при работе с таким набором лемматизаторов:

morphology = lemmatize_ru_all, lemmatize_en, lemmatize_de, libstemmer_ar, libstemmer_hi, libstemmer_it, libstemmer_fr, libstemmer_es

по сравнению с отдельными индексами на каждый из перечисленных языков?

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

Если:

  1. приоритетно качество поиска
  2. и есть возможность хранить разноязычные тексты в разных индексах

, то лучше так и делать. Насколько это лучше сказать сложно, соответствующих тестов мы не проводили, но так навскидку понятно, что разные языки требуют разных подходов к токенизации и лемматизации, и то, что в одном языке должно быть стоп-словом в другом (те же самые байты) может быть вполне себе полезным токеном. Цепочка лемматизаторов может усугубить ситуацию.

1 Like