Стоп-слова Solr отображаются в результатах поиска по фасету - PullRequest
2 голосов
/ 22 мая 2011

В настоящее время я тестирую поиски фасетов в текстовом поле в моей схеме Solr и замечаю, что получаю значительное количество результатов, которые находятся в моем файле stopwords.txt.

В моей схеме в настоящее время используется конфигурация по умолчанию для текстового типа данных, и у меня сложилось впечатление, что стоп-слова не были проиндексированы, если использовался фильтр "solr.StopFilterFactory".

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

Спасибо!

1 Ответ

1 голос
/ 24 мая 2011

Стоп-слова применяются к фасетам. Другими словами: если вы запрашиваете фасет поля, которое было проиндексировано с помощью стоп-слов, вы не должны видеть никаких стоп-слов в фасете.

Я предполагаю, что вы не индексируете то, что думаете: либо ваш файл schema.xml неверен, либо вы индексируете в поле, отличном от того, что вы думаете.

Я использую фасеты в этом поле и хорошо работает:

<fieldType name="text_ws_stop" class="solr.TextField" positionIncrementGap="100">
  <analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
            <filter class="solr.StopFilterFactory"
    ignoreCase="true"
            words="stopwords_spanish.txt"
            enablePositionIncrements="true"
    />
  </analyzer>
</fieldType>

...

<field name="phrases" type="text_ws_stop" indexed="true" stored="true" required="false"/>
...