Looking for Best Practices: Analyzers vs. UpdateRequestProcessors?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Looking for Best Practices: Analyzers vs. UpdateRequestProcessors?

Andreas Kahl
Hello,

are there any general criteria when to use Analyzers to implement an indexing function and when it is better to use UpdateRequestProcessors?

The main difference I found in the documentation was that UpdateRequestProcessors are able to manipulate several fields at once (create, read, update, delete), while Analyzers operate on the contents of a single field at once.

Is that correct so far? Are there more experiences helping to decide which type of module to use implementing indexing modules? Are there differences in processing performance? Is one of the two APIs easier to learn/debug etc?

If you have any Best Practices with that I would be very interested to hear about those.

Andreas

P.S. My experience with Search Engines is mainly with FAST where one uses Stages in a Pipeline no matter which feature to implement.
Reply | Threaded
Open this post in threaded view
|

Re: Looking for Best Practices: Analyzers vs. UpdateRequestProcessors?

Shalin Shekhar Mangar
On Wed, Nov 25, 2009 at 9:52 PM, Andreas Kahl <[hidden email]> wrote:

> Hello,
>
> are there any general criteria when to use Analyzers to implement an
> indexing function and when it is better to use UpdateRequestProcessors?
>
> The main difference I found in the documentation was that
> UpdateRequestProcessors are able to manipulate several fields at once
> (create, read, update, delete), while Analyzers operate on the contents of a
> single field at once.
>
>
Analyzers can only change indexed content. If a field is marked as "stored",
then it is stored and retrieved un-modified. If you want to modify the
"stored" part as well, then only an UpdateRequestProcessor can do that. In
other words, the field's value after applying UpdateRequestProcessors is fed
into analyzers (for indexed field) and stored verbatim (for stored fields).

--
Regards,
Shalin Shekhar Mangar.
Reply | Threaded
Open this post in threaded view
|

Re: Looking for Best Practices: Analyzers vs. UpdateRequestProcessors?

Andreas Kahl
Am 26.11.09 11:07, schrieb Shalin Shekhar Mangar:

> On Wed, Nov 25, 2009 at 9:52 PM, Andreas Kahl<[hidden email]>  wrote:
>
>    
>> Hello,
>>
>> are there any general criteria when to use Analyzers to implement an
>> indexing function and when it is better to use UpdateRequestProcessors?
>>
>> The main difference I found in the documentation was that
>> UpdateRequestProcessors are able to manipulate several fields at once
>> (create, read, update, delete), while Analyzers operate on the contents of a
>> single field at once.
>>
>>
>>      
> Analyzers can only change indexed content. If a field is marked as "stored",
> then it is stored and retrieved un-modified. If you want to modify the
> "stored" part as well, then only an UpdateRequestProcessor can do that. In
> other words, the field's value after applying UpdateRequestProcessors is fed
> into analyzers (for indexed field) and stored verbatim (for stored fields).
>
>    
Thank you very much for your answer. That cleared my sight pretty much.

Andreas