22 May 2015

Stop Words with Custom Search Analyzer in Sitecore 7

As we know, at least in Lucene.NET 3.x.x version, the "stop words" are hand coded in this class "Lucene.Net.Analysis.StopAnalyzer". It does making the customizing the stop words a bit of tricky, especially for specific index since for the most of cases, you only need to customize one of the custom index to suit clients need. Here is a way how we can achieve that.

By default, Sitecore use "Lucene.Net.Analysis.Standard.StandardAnalyzer" and you can find it in wbe.config.(/configuration/sitecore/search/analyzer)


We create a new custom Analyzer inherit from "standardAnalyzer" and override the constructor. Here is the place I assign my own custom stop words to "STOP_WORDS_SET"
public class CustomAnalyzer : Lucene.Net.Analysis.Standard.StandardAnalyzer
{
        private static ISet STOP_WORDS_SET = GetStopWords();//{{"by","by"}}; <-- Makes "by" a 
       
        public CustomAnalyzer()
            : base(Lucene.Net.Util.Version.LUCENE_30, STOP_WORDS_SET)
        {      
        }

        private static ISet GetStopWords()
        {
            string[] strArray = GetWords();
            CharArraySet set = new CharArraySet(strArray.Length, false);
            set.AddAll((IEnumerable)strArray);
            return (ISet)CharArraySet.UnmodifiableSet(set);
        }
}

After, under "/configuration/sitecore/search/analyzer" in web.config, we wire the custom analyzer as below,

      
        Lucene_30
      

Don't forget to register it from you custom index file





Done!!!

1 comment:

  1. wonderful information, I had come to know about your blog from my friend nandu , hyderabad,i have read atleast 7 posts of yours by now, and let me tell you, your website gives the best and the most interesting information. This is just the kind of information that i had been looking for, i'm already your rss reader now and i would regularly watch out for the new posts, once again hats off to you! Thanks a ton once again,
    Regards, sitecore training in hyderabad

    ReplyDelete

WFFM Web form for marketer fail to submit in Sitecore

I have setup a standard form using WFFM in Sitecore 8.2. It always fail when submit. Error as below, Error: Exception: System.Data.DataE...