Other questions besides Grants...

What is the overall response time? If your overall response time is 10
seconds, tuning Lucene won't help you much.

Are you re-opening a searcher each time? This is bad.

How many documents are you finding and are you iterating over a Hits object
for more than 100 objects? If so think about a HitCollector/TopDocs object.

What else is running on the machines? What kinds of timings are you getting
if you run just the search on a dedicated machine?

What happens if you take away the boosts?

What are you measuring when you measure response time? Does it include the
time you spend processing the hits or just the time to execute the search
call? You might get interesting information if you also measure the time to
execute the searches only, it might give you a hint on where to look next.

And I can't agree with Grant strongly enough when he recommends a profiler
before launching into any major optimization. I've spent far too much time
optimizing what I *knew* was the problem area only to find that it wasn't
<G>. It's certainly worth a few simple experiments to see if you can bracket
the problem, but if the easy stuff doesn't work, get a profiler...........

Best
Erick

On 12/8/06, Chun Wei Ho <[EMAIL PROTECTED]> wrote:

Hi,

We run a search engine based on Lucene 1.9.1 / Nutch 0.7.2. Our index
has approximately 2 million documents and the physical size of it is
about 10 GB. We run it as a tomcat web application on a Fedora Core 4
server with duo Xeon 3.2GHz processors and 4GB RAM.

We receive about 46500 web search requests a day (ranging from 50-300
requests per 5 minutes across the day). Each web search request could
spawn about one to three actual Lucene searches. Our average response
time (calculated from the server side - and so excludes network
latency), is about 2 seconds.

Does this timing of 2 seconds appear plausible for Lucene, based on
the machine specifications above.


Our index is slightly more complex (with multiple fields like title,
location, site, content). For example, a search for "Linux and Lucene"
related entries in "Australia" might result in lucene searches for:

((title:linux^1.0 title:lucene^1.0)^4.0)
+((
+(title:linux^5.0 location:linux^1.5 content:linux^1.0)
+(title:lucene^5.0 location:lucene^1.5 content:lucene^1.0))
((+(+content:linux +content:lucene)) +(site:contentsite1
site:contentsite2 site:contentsite3 site:contentsite4
site:contentsite5 site:contentsite6 site:contentsite7)))^0.01))
+location:australia)
+newsdate:[20061107 TO 20061208]
+region:au)
-jobsite:badsite1 -region:badregion1 -jobsite:badsite2
-jobsite:badsite3 -jobsite:badsite4

Does anyone have ideas or could point us to resources that would allow
us to improve this performance? 2 seconds response added with network
latency gives an impression of "slowness" of our site that we are
trying to reduce.

Thank you.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to