SOLR ngram search - порядок сортировки - PullRequest
0 голосов
/ 15 марта 2019

Я использую Solr Search для поиска моих имен пользователей.Я использовал ngramfilterfactory для индексации, чтобы он искал подстроки.Тем не менее, точное совпадение слов не оценивается выше, чем совпадение подстроки.

Например;У меня есть два имени пользователя: Сара123 , Я Сара .Когда я ищу Сара , все эти документы должны возвращаться, за исключением того, что «Я - Сара» должна быть первой в наборе результатов, поскольку Сара точно соответствует одному из слов.У меня проблемы с этим.Цени любые указатели!

Я использую SOLR 3.5, в моем schema.xml есть следующая соответствующая запись:

<fieldType name="usernames" class="solr.TextField"  positionIncrementGap="1">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory" />
    <filter class="solr.WordDelimiterFilterFactory"
                generateWordParts="1"
                generateNumberParts="1"
                catenateWords="1"
                catenateNumbers="1"
                catenateAll="0"
                preserveOriginal="1"
                />
    <filter class="solr.NGramFilterFactory"  minGramSize="3" maxGramSize="200"/>
    <filter class="solr.LowerCaseFilterFactory" />
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory" />
  </analyzer>
</fieldType>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...