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!!!

8 comments:

  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
  2. I would like to say that this blog really convinced me to do it! Thanks, very good post. custom strapback hats

    ReplyDelete
  3. We do custom patches, embroidered patches, printed patches, custom Velcro patches, clothing labels, PVC patches, custom leather patches, custom keychains, and other promotional products. Following is an overview of our products. Custom Iron On Patches

    ReplyDelete
  4. I am incapable of reading articles online very often, but I’m happy I did today. It is very well written, and your points are well-expressed. I request you warmly, please, don’t ever stop writing. handmade leather crossbody bag

    ReplyDelete
  5. Mmm.. great to be here in your article or post, whatever, I figure I ought to likewise buckle down for my own site like I see some great and refreshed working in your site. get more info

    ReplyDelete
  6. Nice post! This is a very nice blog that I will definitively come back to more times this year! Thanks for informative post. custom made patches

    ReplyDelete
  7. I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often. Custom Embroidered Patches

    ReplyDelete
  8. I am happy to find this post Very useful for me, as it contains lot of information. I Always prefer to read The Quality and glad I found this thing in you post. Thanks Canada Visa for German Citizens

    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...