Как остановить результат в solr, если фраза содержит стоп-слово?

У меня возникла проблема при поиске с помощью Solr фразы, в которой есть стоп-слова. Solr отправляет результат со стоп-словом, и это не мой ожидаемый результат.

Я добавил слово "тест" в файл stopwords.txt . В файле schema.xml у меня есть поле вроде

<field name="searchword" type="text" indexed="true" stored="true"   />

. Я проиндексировал некоторые data, затем попытался выполнить поиск в окне браузера solr следующим образом: searchword: "test" , и я не получил результата. Затем я снова ввел фразу вроде searchword: "test data" и получил результат. Как избежать такого сценария? Если он содержит стоп-слово, Solr не должен давать никакого результата. Как остановить результат в solr, если фраза содержит стоп-слово?

Я использую следующий fieldType:

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.CommonGramsFilterFactory" words="stopwords.txt" ignoreCase="true"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
    </analyzer>
    <analyzer type="query">         
        <tokenizer class="solr.WhitespaceTokenizerFactory" />
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" type="phrase"/>
    </analyzer>
</fieldType>

Мне нужно решение для Solr не дает никакого результата, пока я даю фразу, содержащую стоп-слово ( test)

6
задан javanna 30 November 2011 в 09:04
поделиться