I have configured Solr Managed-schema as following

Below configuration is for Full Text Search:

<fieldType name="text_general" class="solr.TextField"
positionIncrementGap="100">
    <analyzer type="index">
      <!-- <tokenizer class="solr.StandardTokenizerFactory"/> -->
      <tokenizer class="solr.NGramTokenizerFactory" minGramSize="2"
maxGramSize="10"/>
      <filter class="solr.StopFilterFactory" words="stopwords.txt"
ignoreCase="true"/>
      <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
    <analyzer type="query">
      <!-- <tokenizer class="solr.StandardTokenizerFactory"/> -->
      <tokenizer class="solr.NGramTokenizerFactory" minGramSize="2"
maxGramSize="10"/>
      <filter class="solr.StopFilterFactory" words="stopwords.txt"
ignoreCase="true"/>
      <filter class="solr.SynonymGraphFilterFactory" expand="true"
ignoreCase="true" synonyms="synonyms.txt"/>
      <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
  </fieldType>

Following is the configuration for Spell check type of field.

<fieldType name="text_spellcheck" class="solr.TextField"
positionIncrementGap="100">
    <analyzer>
      <tokenizer class="solr.StandardTokenizerFactory"/>
      <filter class="solr.StandardFilterFactory"/>
      <filter class="solr.StopFilterFactory" words="stopwords.txt"
ignoreCase="true"/>
      <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
  </fieldType>

Below is the field on which I do spell check

<field name="title_txt_spellcheck_ja" type="text_spellcheck"
omitNorms="true" indexed="true" stored="true"/>

Below is the full text field
<field name="_text_" type="text_general" multiValued="true" indexed="true"
stored="false"/>

I copy text from another field for suggestions.

<copyField source="title_txt_ja" dest="title_txt_spellcheck_ja"/>

/spell?fl=id,title_txt_spellcheck_ja&wt=json&defType=edismax&q=te&spellcheck=on&spellcheck.count=10&spellcheck.collate=true&spellcheck.dictionary=title_txt_spellcheck_ja&spellcheck.collateExtendedResults=true&spellcheck.maxCollations=3

All the configurations were working fine till i changed
<tokenizer class="solr.StandardTokenizerFactory"/>  to
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="2"
maxGramSize="10"/>
in text_general field type.

Any clues ?

Regards
Anupam Bhattacharya

Reply via email to