私は 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 秒で検索するにはどうすればよいですか?