That works great. Thanks Heath!

Min

Heath Aldrich wrote:
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