I have a situation where a client has a zillion small entries in a
multivalued field. When the number of values, and values here means
number of times doc.addFIeld(bigfield, value) is called on a doc,
highlighting becomes very slow. Doing highlighting on the same data
but all concatenated into a single field is much faster. I'm guessing
the slowdown is due to setup/analyze being done for each entry and the
attendant bookkeeping.

We've already talked about using FVH, and we're going to see if the
index bloat is acceptable, but meanwhile....

I'm _guessing_ that the issue is analogous to scoring. You have to
examine every entry to find the "best" snippet. This particular
application would be fine with not worrying about "best", and willing
to stop after the first N.

hl.snippets doesn't seem to work. If I'm reading the code correctly
(and I admit I didn't look very deeply), all the entries need to be
examined to find the top N "best" fits.

hl.maxAnalyzedChars doesn't seem to help either, since it's applied to
each individual value not the field as a whole.

So here's my question: What are the options besides FVH? Is there
something I'm overlooking? The client is quite willing to write custom
components and also will consider donating them back to the community
FWIW.

One possibility that's come up is to have something analogous to
maxAnalyzedChars but where the unit was MV entries, something like
hl.mvBailCount=N (needs to be per-field override) where if it was
specified, terminate after examining the values after N matches (or
perhaps N values were examined whether any matches occurred or not).
This seems relatively safe, it wouldn't change existing behavior but
still would be available when needed.

Or am I just misunderstanding highlighting and there's really an
underlying bug in the highlighting code and we'd expect highlighting
times to be consistent regardless of whether the field was MV or not?

Thanks,
Erick

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to