Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-9894

Tokenizer work randomly

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Not A Problem
    • 6.2.1
    • None
    • query parsers
    • solrcloud 6.2.1(3 solr nodes)
      OS:linux
      RAM:8G

    Description

      my schema.xml has a fieldType as folow:
      <fieldType name="my_ik" class="solr.TextField">
      <analyzer type="index">
      <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false"/>
      <filter class="org.wltea.pinyin.solr5.PinyinTokenFilterFactory" pinyinAll="true" minTermLength="2"/>
      <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      <analyzer type="query">
      <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true"/>
      <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      </fieldType>

      Attention:
      index tokenzier useSmart is false
      query tokenzier useSmart is true

      But when I send query request with parameter q ,
      the query tokenziner sometimes useSmart equals true
      sometimes useSmart equal false.
      That is so terrible!
      I guess the problem may be caught by tokenizer cache.
      when I query ,the tokenizer should use true as the useSmart's value,
      but it had cache the wrong tokenizer result which created by indexWriter who use false as useSmart's value.

      Attachments

        1. step4.png
          2.50 MB
          王海涛
        2. step3.png
          2.72 MB
          王海涛
        3. step2.png
          2.47 MB
          王海涛
        4. step1.png
          3.01 MB
          王海涛

        Activity

          People

            Unassigned Unassigned
            wanghaitao 王海涛
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: