0

私は lucene4.2 を使用しており、ドキュメントに 50 を超えるフィールドを持つインデックスがあります。インデックスには約 80 mio が含まれています。ドキュメントで、サイズは 11.5 GB です。すべてのクエリが 20 秒を超えます。このようなもの:

//Query: +(id:[3000000000000000000 TO 9000000000000000000]) +(devId:2 devId:3)
long start = System.currentTimeMillis();
TopDocs topDocs = indexSearch.search(query,1000);
long end = System.currentTimeMillis();
logger.info(end - start);

JVM ヒープ サイズが 1024M 未満の場合、OutOfMemoryError が発生していました。なぜそんなに多くのメモリと時間がかかるのか、私は本当に混乱しています。1 秒で検索するにはどうすればよいですか?

4

1 に答える 1

0

どのように文書フィールドを作成しましたか? すべてのフィールドを保存しましたか?

保存したフィールドが大きい可能性があります

于 2013-12-20T22:08:00.353 に答える