У меня есть тип поля, в котором используется токенайзер ключевых слов (весь термин - токен), с фильтрами строчных букв и n-грамм, например, «Роберт Лонго» хранится как «r», «ro»,..., "robert l", "robert lo" и т. д. На странице администратора анализа все это работает, как и ожидалось.
Но когда я ищу "robert long" (с кавычками), яне получите результатов, даже если это точное соответствие токена.Когда я ищу без кавычек, мои термины предварительно разбиты на токены, и они соответствуют всем "Роберт" и всем "я", а не только "Роберт".Нужно ли как-то указывать подстановочный знак, чтобы сказать, что в термине есть что-то еще?
Из схемы:
<fieldType name="edge_text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="25" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Моя цель - получить что-то, что возвращает совпадения фраз из нашего сохраненногоТермины, которые начинаются именно с того, что было дано, поэтому точное совпадение и порядок терминов имеют решающее значение.
Есть идеи?