java - How to make Lucene search faster? -
all. have 12 large indexes, , each bigger 20gb. application trying make instance of indexsearcher search every request of user. because user can select index wants search. performance of application very bad. user should wait 5 minutes 1 search. application shows 50 documents per page. , of course repeat 50 times retrieve data show using 'for statement'. performance test, i've tried search using matchalldocsquery, , takes 10 seconds, find 7,598,870 documents.
i can't know why application slow.
after many times googling... i've read document says making instance of indexsearcher costly. if merge indexes, 317gb after merge, , using 1 indexsearcher instance search w/ filter, faster before?
please me. can't test freely because application on customer's intranet.
sorry english.
you won't more general advice listed in official wiki.
however, answer point costly index searcher - searcher cheap, indexreader
expensive.
you potentially cache 12 readers (for each index), , create multi searchers (if using lucene 3.6.0) or @ slowcompositereaderwrapper lucene 4.0+.
Comments
Post a Comment