• API

    Show / Hide Table of Contents

    Namespace Lucene.Net.Analysis.Phonetic

    Analysis for indexing phonetic signatures (for sounds-alike search)

    For an introduction to Lucene's analysis API, see the <xref:Lucene.Net.Analysis> package documentation.

    This module provides analysis components (using encoders from Apache Commons Codec) that index and search phonetic signatures.

    Classes

    BeiderMorseFilter

    TokenFilter for Beider-Morse phonetic encoding.

    This is a Lucene.NET EXPERIMENTAL API, use at your own risk

    BeiderMorseFilterFactory

    Factory for BeiderMorseFilter.

    <fieldType name="text_bm" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.BeiderMorseFilterFactory"
           nameType="GENERIC" ruleType="APPROX" 
           concat="true" languageSet="auto"
        </filter>
      </analyzer>
    </fieldType>

    DoubleMetaphoneFilter

    Filter for DoubleMetaphone (supporting secondary codes)

    DoubleMetaphoneFilterFactory

    Factory for DoubleMetaphoneFilter.

    <fieldType name="text_dblmtphn" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.DoubleMetaphoneFilterFactory" inject="true" maxCodeLength="4"/>
      </analyzer>
    </fieldType>

    PhoneticFilter

    Create tokens for phonetic matches. See the Language namespace.

    PhoneticFilterFactory

    Factory for PhoneticFilter.

    Create tokens based on phonetic encoders from the Language namespace.

    This takes one required argument, "encoder", and the rest are optional:

    • encoder required, one of "DoubleMetaphone", "Metaphone", "Soundex", "RefinedSoundex", "Caverphone" (v2.0), or "ColognePhonetic" (case insensitive). If encoder isn't one of these, it'll be resolved as a class name either by itself if it already contains a '.' or otherwise as in the same package as these others.
    • inject (default=true) add tokens to the stream with the offset=0
    • maxCodeLength The maximum length of the phonetic codes, as defined by the encoder. If an encoder doesn't support this then specifying this is an error.

    <fieldType name="text_phonetic" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/>
      </analyzer>
    </fieldType>
    • Improve this Doc
    Back to top Copyright © 2020 Licensed to the Apache Software Foundation (ASF)