Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-3026

smartcn analyzer throw NullPointer exception when the length of analysed text over 32767

Details

    • Bug
    • Status: Reopened
    • Major
    • Resolution: Fixed
    • 3.1, 4.0-ALPHA
    • 3.2, 4.0-ALPHA
    • modules/analysis
    • None
    • New

    Description

      That's all because of org.apache.lucene.analysis.cn.smart.hhmm.SegGraph's makeIndex() method:
      public List<SegToken> makeIndex() {
      List<SegToken> result = new ArrayList<SegToken>();
      int s = -1, count = 0, size = tokenListTable.size();
      List<SegToken> tokenList;
      short index = 0;
      while (count < size) {
      if (isStartExist(s)) {
      tokenList = tokenListTable.get(s);
      for (SegToken st : tokenList)

      { st.index = index; result.add(st); index++; }

      count++;
      }
      s++;
      }
      return result;
      }

      here 'short index = 0;' should be 'int index = 0;'. And that's reported here http://code.google.com/p/imdict-chinese-analyzer/issues/detail?id=2 and http://code.google.com/p/imdict-chinese-analyzer/issues/detail?id=11, the author XiaoPingGao have already fixed this bug:http://code.google.com/p/imdict-chinese-analyzer/source/browse/trunk/src/org/apache/lucene/analysis/cn/smart/hhmm/SegGraph.java

      Attachments

        1. LUCENE-3026.patch
          0.7 kB
          wangzhenghang

        Activity

          People

            rcmuir Robert Muir
            passerbya wangzhenghang
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: