On Jun 1, 2010, at 9:54 PM, Blargy wrote:

> 
> We have around 5 million items in our index and each item has a description
> located on a separate physical database. These item descriptions vary in
> size and for the most part are quite large. Currently we are only indexing
> items and not their corresponding description and a full import takes around
> 4 hours. Ideally we want to index both our items and their descriptions but
> after some quick profiling I determined that a full import would take in
> excess of 24 hours. 
> 
> - How would I profile the indexing process to determine if the bottleneck is
> Solr or our Database.

As a data point, I routinely see clients index 5M items on normal
hardware in approx. 1 hour (give or take 30 minutes).  

When you say "quite large", what do you mean?  Are we talking books here or 
maybe a couple pages of text or just a couple KB of data?

How long does it take you to get that data out (and, from the sounds of it, 
merge it with your item) w/o going to Solr?

> - In either case, how would one speed up this process? Is there a way to run
> parallel import processes and then merge them together at the end? Possibly
> use some sort of distributed computing?

DataImportHandler now supports multiple threads.  The absolute fastest way that 
I know of to index is via multiple threads sending batches of documents at a 
time (at least 100).  Often, from DBs one can split up the table via SQL 
statements that can then be fetched separately.  You may want to write your own 
multithreaded client to index.

--------------------------
Grant Ingersoll
http://www.lucidimagination.com/

Search the Lucene ecosystem using Solr/Lucene: 
http://www.lucidimagination.com/search

Reply via email to