mahout 创建向量问题There are too many documents that do not have a term vector

来源:互联网 发布:知无涯者的经典台词 编辑:程序博客网 时间:2024/06/06 03:12



bin/mahout lucene.vector --dir /home/hadoop/index --output /user/hadoop/out/part-out.vec  --field title --idField id --dictOut /user/hadoop/out/dict.out 

--maxPercentErrorDocs 0.1 


Exception in thread "main" java.lang.IllegalStateException: There are too many documents that do not have a term vector for ***

at org.apache.mahout.utils.vectors.lucene.LuceneIterator.computeNext(LuceneIterator.java:118)
at org.apache.mahout.utils.vectors.lucene.LuceneIterator.computeNext(LuceneIterator.java:41)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136)
at org.apache.mahout.utils.vectors.io.SequenceFileVectorWriter.write(SequenceFileVectorWriter.java:44)
at org.apache.mahout.utils.vectors.lucene.Driver.dumpVectors(Driver.java:109)
at org.apache.mahout.utils.vectors.lucene.Driver.main(Driver.java:250)


原因1

***是不存在的file ,修改为正确的field

原因2

***是termVectors为false的field

解决,生成index时要设置field的termVectors 为true

原因3,错误文档数目超过了预定的百分比,

可以增加参数--maxPercentErrorDocs 0.1

表示允许10%的错误文档

原创粉丝点击