For some use cases for DSpace, the index produced by the standard search analyzer (org.dspace.search.DSAnalyzer) produces unsatisfactorily imprecise results. Creating an alternate analyzer, which omits PorterStemFilter, will be helpful in those use cases. See these threads for more of the backstory:
I'm attaching a patch, but it's more of a kit. You must first copy [dspace-src]/dspace-api/src/main/java/org/dspace/search/DSAnalyzer.java to [dspace-src]/dspace-api/src/main/java/org/dspace/search/DSNonStemmingAnalyzer.java, then you can apply the patch.
After patching, you must alter your dspace.cfg file, uncommenting and changing the search.analyzer line so that it reads:
search.analyzer = org.dspace.search.DSNonStemmingAnalyzer
Then, do the following:
- stop Tomcat (taking down your DSpace instance)
- re-index all content in your DSpace by running:
- start Tomcat
All credit for this work goes to Tim Donohue and Stuart Yeates, I just put the pieces together into this patch and ticket.