2017-12-06 17 views
0

私はそれに1億2,000万レコード以上のLuceneインデックスを持っており、この時点までスムーズかつ迅速に作業しています。しかし、今日は受信を開始:Lucene Taxonomy Writer Overflowing?

java.lang.ArrayIndexOutOfBoundsException: -65536 
lemur at org.apache.lucene.util.ByteBlockPool.setBytesRef(ByteBlockPool.java:308) 
lemur at org.apache.lucene.util.BytesRefHash.equals(BytesRefHash.java:183) 
lemur at org.apache.lucene.util.BytesRefHash.findHash(BytesRefHash.java:330) 
lemur at org.apache.lucene.util.BytesRefHash.find(BytesRefHash.java:319) 
lemur at org.apache.lucene.facet.taxonomy.writercache.UTF8TaxonomyWriterCache.get(UTF8TaxonomyWriterCache.java:65) 
lemur at org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.addCategory(DirectoryTaxonomyWriter.java:411) 
lemur at org.apache.lucene.facet.FacetsConfig.processFacetFields(FacetsConfig.java:322) 
lemur at org.apache.lucene.facet.FacetsConfig.build(FacetsConfig.java:285) 

これはメモリの問題、22gigインデックス、または他の何かが原因である場合、私は知らないが、このトレースを掘り、それは分類ライターキャッシュとは何かを持っていますシステム。私はこれが一貫して同じレコードで起こっているのではないことを検証しましたが、何らかのメモリオーバーフロー問題のように思えます。残念ながら、私はここから何をすべきか、あるいは私が実際の問題を理解する正しい道を歩いていてもわからない。

答えて

0

さらに掘り下げた後、私はUTF8TaxonomyWriterCacheが大きなデータのための良いキャッシングメカニズムではないことを知ることができました。 LruTaxonomyWriterCacheを使用して切り替えると、すべてがスムーズに機能しています。