Стемминг выполняется как часть цепочки анализа, и поэтому является частью того, как определяется схема для этого конкретного поля.
Причина этого становится очевидной, когда вы рассматриваете, как работает стемминг - дляВ этом смысле термин должен быть ограничен , когда он индексируется , а также при запросе.
Lucene берет вашу входную строку, пропускает ее по цепочке анализа и сохраняет сгенерированные токены в своем индексе.Если вы дадите ему what are you asking
, то, скорее всего, получите what
, are
, you
, ask
после токенизации с помощью пробела и применения стемминга.
Та же самая операция происходит при запросе, поэтому, если кто-то ищет asks
, токен получает значение ask
- и затем сравнивается с тем, что находится в индексе.Если бы при индексации не было стемминга, в итоге вы бы получили asking
в индексе и ask
при запросах - и это не совпадение, поскольку токены не совпадают.
В стороннем приложении опция стемминга, вероятно, выполняет стеммирование внутри приложения перед отправкой содержимого в Solr.
Вы также можете использовать API-интерфейс Schema для динамического обновления и изменения определений типов полей .