У меня есть два поля, одно - поле для копирования.
<field name="product_name" type="text_wslc" indexed="true" stored="true" required="true" multiValued="false"/>
<field name="dummy_name" type="string_ci" indexed="true" stored="false" required="true" />
Его определение дано ниже.
<fieldType name="text_wslc" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1"
generateNumberParts="1"
catenateWords="1"
catenateNumbers="1"
catenateAll="1"
preserveOriginal="1"
/>
<filterclass="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" />
<filter class="solr.PorterStemFilterFactory"/>
<filter class="solr.KStemFilterFactory"/>
<filter class="solr.EnglishMinimalStemFilterFactory"/>
</analyzer>
<fieldType name="string_ci" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" />
<filter class="solr.KStemFilterFactory"/>
<filter class="solr.EnglishMinimalStemFilterFactory"/>
</analyzer>
</fieldType>
поданная копия предназначена для того, чтобы в первую очередь получить точные совпадающие результаты. Мой запрос такой
/select?q=("laptop+bag")&df=product_name&defType=edismax&qf=dummy_name^20000+product_name^0.01
это дает мне около 8000 результатов
но для фактических результатов около 20000
/select?q=(laptop+bag)&df=product_name&defType=edismax&qf=dummy_name^20000+product_name^0.01
но сначала не будет указан точный результат. Как я могу решить эту проблему? Есть ли проблема с моим запросом? Вот мои поля и определения