Проблема в том, что 15.6 "
по-прежнему остается единственным токеном после фильтра замены шаблона - простое создание токена с пробелом в нем не разделит его.
Вы можете видеть, что он по-прежнему хранится как один токен, так как на линии нет |
(который разделяет токены).
Добавьте после него фильтр разделителя слов (из вашей цепочки анализа кажется, что он у вас уже есть, он просто не включен в ваш вопрос), или, лучше, сделайте замену в PatternReplaceCharFilterFactory
перед токенизатор получает задачу разбить входные данные на отдельные токены:
<analyzer>
<charFilter class="solr.PatternReplaceCharFilterFactory" pattern='^([0-9]+([,.][0-9]+)?)(")$' replacement="$1 $3" />
<tokenizer ...>
Возможно, вам придется немного помассировать сопоставление с образцом (то есть потерять ^ и $, которые не соблюдаются Solr в любом случае, iir c) в зависимости от вашего ввода (поскольку теперь оно будет применено ко всей входной строке - убедитесь, что «Macbook 15.6» 256 ГБ сопоставлено произвольно).