Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to include stopwords when searching exact phrases in Solr?

Tags:

search

solr

I want stopwords excluded except when the search term is within double quotes

eg. "just like that" should also search "that".

Is this possible?

like image 246
Ruth Avatar asked Apr 21 '10 08:04

Ruth


1 Answers

It depends on the configuration of the field you are querying.

If the configuration of the indexing analyzer includes a StopFilterFactory, then the stopwords are simply not indexed, so you can not query for them afterward. But since Solr keeps the position of the terms in the index, you can instruct it to increment the position value of the remaining terms to reflect the fact that originally, there was other terms in between.

The "enablePositionIncrements" here is the key to achieve that:

<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>

If the querying analyzer also has the StopFilterFactory configured with the same settings, your query should work as expected.

See this link for details: http://www.lucidimagination.com/search/document/CDRG_ch05_5.6.18

like image 86
Pascal Dimassimo Avatar answered Sep 21 '22 00:09

Pascal Dimassimo