本帖最后由 jutem 于 2014-04-01 15:24:00 编辑

解决方案 »

  1.   

    新版本的lucene没玩过,老版本增加的时候有个指定是否需要分词的选项,就是这个Field.Index.TOKENIZED,表明需要分词并且索引,否则用Field.Index.UN_TOKENIZED不会分词,那肯定找不到。我奇怪的是新版本的新StringField难道不用指定这个参数?
    Filed f = new Field("field","the quick brown fox jumped over the lazy dog",Field.Store.YES,
             Field.Index.TOKENIZED);//老版本必须指定这个参数,如果用Field.Index.UN_TOKENIZED就找不到
      

  2.   

    恩,我是看着lucene in action第二版写的,不过这版的例子都是3.X版本的,我用了4.7版本的。3.X版本的确需要指定的,新版本也的确是可以不指定的。
      

  3.   

    哦,谢谢,eccel。刚试了一下的确是没有分词。StringField是不分词,只索引的,改成TextField就行了,即分词又索引。