Hello,

I have Solr 4 configured with several fields using different similarity
classes according to:
http://wiki.apache.org/solr/SchemaXml#Similarity

However, I get this error message:
" FieldType 'DFR' is configured with a similarity, but the global
similarity does not support it: class
org.apache.solr.search.similarities.DefaultSimilarityFactory"

Excerpt from schema.xml below.

What I am trying to do is have any field that doesn't specify a similarity
to use the default, but to set up 3 specific fields to use the DFR, IB, and
BM25 similarities respectively.

I think I'm missing something here.  Can someone point me to documentation
or examples?

Tom

----------------
Simplified schema.xml excerpt:
 <fieldType name="CJKFullText" class="solr.TextField"
positionIncrementGap="100"  autoGeneratePhraseQueries="false">
      <analyzer type="index">
        <tokenizer class="solr.ICUTokenizerFactory"/>
        <filter class="solr.ICUFoldingFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.ICUTokenizerFactory"/>
        <filter class="solr.ICUFoldingFilterFactory"/>
      </analyzer>
    </fieldType>

<!--###########################################################-->
<!--  relevance rank testing -->


 <fieldType name="DFR" class="solr.TextField" positionIncrementGap="100"
 autoGeneratePhraseQueries="false">
      <analyzer type="index">
        <tokenizer class="solr.ICUTokenizerFactory"/>
        <filter class="solr.ICUFoldingFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.ICUTokenizerFactory"/>

        <filter class="solr.ICUFoldingFilterFactory"/>
      </analyzer>

<similarity class="solr.DFRSimilarityFactory">
      <str name="basicModel">I(F)</str>
      <str name="afterEffect">B</str>
      <str name="normalization">H2</str>
    </similarity>


    </fieldType>


 <fieldType name="IB" class="solr.TextField" positionIncrementGap="100"
 autoGeneratePhraseQueries="false">
      <analyzer type="index">
        <tokenizer class="solr.ICUTokenizerFactory"/>
        <filter class="solr.ICUFoldingFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.ICUTokenizerFactory"/>
        <filter class="solr.ICUFoldingFilterFactory"/>
      </analyzer>

 <similarity class="solr.IBSimilarityFactory">
      <str name="distribution">SPL</str>
      <str name="lambda">DF</str>
      <str name="normalization">H2</str>
    </similarity>
    </fieldType>


 <fieldType name="BM25" class="solr.TextField" positionIncrementGap="100"
 autoGeneratePhraseQueries="false">
      <analyzer type="index">
        <tokenizer class="solr.ICUTokenizerFactory"/>
        <filter class="solr.ICUFoldingFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.ICUTokenizerFactory"/>
        <filter class="solr.ICUFoldingFilterFactory"/>
      </analyzer>

 <similarity class="solr.BM25SimilarityFactory">
<!-- start with the defaults  -->
      <float name="k1">1.2</float>
      <float name="b">0.75</float>
    </similarity>

    </fieldType>










=======================================================================================-
Excerpt from actual schema.xml
 <fieldType name="CJKFullText" class="solr.TextField"
positionIncrementGap="100"  autoGeneratePhraseQueries="false">
      <analyzer type="index">
        <tokenizer class="solr.ICUTokenizerFactory"/>
        <filter class="solr.ICUFoldingFilterFactory"/>
        <filter class="solr.CJKBigramFilterFactory"
         han="true" hiragana="true"
        katakana="false" hangul="false"   />


        <filter class="solr.CommonGramsFilterFactory"
words="1000common.txt" />
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.ICUTokenizerFactory"/>

        <filter class="solr.ICUFoldingFilterFactory"/>
        <filter class="solr.CJKBigramFilterFactory"
           han="true" hiragana="true"
          katakana="false" hangul="false"   />

        <filter class="solr.CommonGramsQueryFilterFactory"
words="1000common.txt" />
      </analyzer>
    </fieldType>

<!--###########################################################-->
<!--  relevance rank testing -->


 <fieldType name="DFR" class="solr.TextField" positionIncrementGap="100"
 autoGeneratePhraseQueries="false">
      <analyzer type="index">
        <tokenizer class="solr.ICUTokenizerFactory"/>
        <filter class="solr.ICUFoldingFilterFactory"/>
        <filter class="solr.CJKBigramFilterFactory"
         han="true" hiragana="true"
        katakana="false" hangul="false"   />


        <filter class="solr.CommonGramsFilterFactory"
words="1000common.txt" />
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.ICUTokenizerFactory"/>

        <filter class="solr.ICUFoldingFilterFactory"/>
        <filter class="solr.CJKBigramFilterFactory"
           han="true" hiragana="true"
          katakana="false" hangul="false"   />

        <filter class="solr.CommonGramsQueryFilterFactory"
words="1000common.txt" />
      </analyzer>

<similarity class="solr.DFRSimilarityFactory">
      <str name="basicModel">I(F)</str>
      <str name="afterEffect">B</str>
      <str name="normalization">H2</str>
    </similarity>


    </fieldType>


 <fieldType name="IB" class="solr.TextField" positionIncrementGap="100"
 autoGeneratePhraseQueries="false">
      <analyzer type="index">
        <tokenizer class="solr.ICUTokenizerFactory"/>
        <filter class="solr.ICUFoldingFilterFactory"/>
        <filter class="solr.CJKBigramFilterFactory"
         han="true" hiragana="true"
        katakana="false" hangul="false"   />


        <filter class="solr.CommonGramsFilterFactory"
words="1000common.txt" />
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.ICUTokenizerFactory"/>

        <filter class="solr.ICUFoldingFilterFactory"/>
        <filter class="solr.CJKBigramFilterFactory"
           han="true" hiragana="true"
          katakana="false" hangul="false"   />

        <filter class="solr.CommonGramsQueryFilterFactory"
words="1000common.txt" />
      </analyzer>
 <similarity class="solr.IBSimilarityFactory">
      <str name="distribution">SPL</str>
      <str name="lambda">DF</str>
      <str name="normalization">H2</str>
    </similarity>


    </fieldType>


 <fieldType name="BM25" class="solr.TextField" positionIncrementGap="100"
 autoGeneratePhraseQueries="false">
      <analyzer type="index">
        <tokenizer class="solr.ICUTokenizerFactory"/>
        <filter class="solr.ICUFoldingFilterFactory"/>
        <filter class="solr.CJKBigramFilterFactory"
         han="true" hiragana="true"
        katakana="false" hangul="false"   />


        <filter class="solr.CommonGramsFilterFactory"
words="1000common.txt" />
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.ICUTokenizerFactory"/>

        <filter class="solr.ICUFoldingFilterFactory"/>
        <filter class="solr.CJKBigramFilterFactory"
           han="true" hiragana="true"
          katakana="false" hangul="false"   />

        <filter class="solr.CommonGramsQueryFilterFactory"
words="1000common.txt" />
      </analyzer>


 <similarity class="solr.BM25SimilarityFactory">
<!-- start with the defaults  -->
      <float name="k1">1.2</float>
      <float name="b">0.75</float>
    </similarity>

    </fieldType>

Reply via email to