Как фильтровать документы по полю, которое начинается с некоторой строки? Теперь я получаю все документы, где в поле содержатся слова, начинающиеся с этой строки. Лучший результат будет, если какой-то один ответ, как сначала начать с первых результатов, а затем остаться, например, упорядочить наиболее подходящим для фильтрации. Благодарю.
Как:Solr 6.4.2, фильтровать документы с помощью строки startswith
company_name:(max*) result : ['Min & Max', 'Maximum speed', 'Mirana max parrot']
Но я хочу это нравится:
company_name:(max*) result : ['Maximum speed', 'Min & Max', 'Mirana max parrot']
Теперь у меня есть этот конфиг для текстового поля:
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" />
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.EnglishMinimalStemFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" />
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>