В каком порядке выполняются фильтры SOLR? - PullRequest
0 голосов
/ 08 января 2019

Есть ли определенный порядок выполнения этих фильтров? Я попытался переместить фильтры, и у меня нет четких результатов.

        <analyzer type="query">
            <tokenizer class="solr.WhitespaceTokenizerFactory"/>
            <filter class="solr.ASCIIFoldingFilterFactory"/>
            <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
            <filter class="solr.WordDelimiterGraphFilterFactory"/>
            <filter class="solr.LowerCaseFilterFactory"/>
            <filter class="solr.PorterStemFilterFactory"/>
        </analyzer>

1 Ответ

0 голосов
/ 08 января 2019

Они выполняются в порядке, в котором вы их определили.

Перемещение их может ничего не изменить, так как это будет зависеть от того, как токены преобразуются этим конкретным фильтром. Токенизатор является единственным исключением, так как он будет выполняться перед любыми обычными фильтрами, в то время как любой charFilters будет выполняться перед токенизатором (то есть charFilter -> Tokenizer -> filters).

Вы можете использовать раздел Analysis на странице администрирования Solr, чтобы увидеть, как каждый фильтр последовательно обрабатывает токены и каковы вход и результат для каждого шага цепочки.

Вам также придется перезагрузить конфигурацию (обычно это происходит путем перезагрузки ядра или коллекции) после ее изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...