Hi Min, 

Here is a bit of code I use to do that... it is part of my custom Analyzer class
You can see that if we are dealing with a field named item_code, then we use 
the keyword tokenizer... otherwise, we do snowball and whitespace...


<snip>

Public Class MyAnalyzer
    Inherits Analyzer

    Public Overloads Overrides Function TokenStream(ByVal fieldName As String, 
ByVal reader As TextReader) As TokenStream

                'if we're dealing with an item code field, treat it with the 
keyword tokenizer
        If fieldName = "item_code" Then
            Return New Lucene.Net.Analysis.KeywordTokenizer(reader)
        Else
                        'treat these fields with whitespace and snowball
            Dim x = New Lucene.Net.Analysis.WhitespaceTokenizer(reader)
            Return New Lucene.Net.Analysis.Snowball.SnowballFilter(GetSyns(x), 
"English")
        End If

    End Function

End Class

</snip>

-----Original Message-----
From: Min Yin [mailto:[EMAIL PROTECTED] 
Sent: Thursday, February 14, 2008 1:02 PM
To: [email protected]
Subject: Switching Analyzer or turn off stemming for specific field?

Hello there!

I have a question regarding the Snowball stemming analyzer. We are 
generally happy with the fuzzy search it provides, but there're cases we 
want an exact match, for example, a person's name.

I wonder if it's possible to use multiple analyzers and switch between 
them for different lucene fields, or if there is a way to temporarily 
turn off the stemming when we want.

Thanks in advance!

Min


Reply via email to