You are doing things out of order. It's DIH, URP, then indexer. Any
attempt to subvert that order for the record being indexed will end in
problems.

Have you considered doing a dual path? Index, then update. Of course,
your fields all need to be stored for that.

Also, perhaps you need to rethink the problem on a higher level. If
all you need to do is to extract tokenized content of a field during
search, you can do that in several ways, such as faceting on that
field, or - I believe - using terms end-point.

Regards,
  Alex.
----
Solr Analyzers, Tokenizers, Filters, URPs and even a newsletter:
http://www.solr-start.com/


On 22 October 2015 at 06:20, Roxana Danger
<roxana.dan...@reedonline.co.uk> wrote:
> Hello,
>
> I would like to create an updateRequestProcessorChain that should to be
> executed after a DB DIH. I am extending UpdateRequestProcessorFactory and
> the UpdateRequestProcessor classes. The method processAdd of my
> UpdateRequestProcessor should be able to update the documents with  the
> indexed terms associated to a field. Notice that these terms should have
> been extracted with an analyzer before my updateRequestProcessorChain
> processor begins to execute.
>
> The problem I am getting is that at the point where processAdd is executed
> the field containing the terms has not been filled. To retrieve the terms I
> am using the SolrIndexSearcher provided during the request
> (req.getSearcher()). However, it seems that this searcher uses only the
> data physically stored and does not consider any of the imported data.
>
> Any idea on how can I access to searcher with all indexed/cached data when
> the processAdd method is executed?
>
> Thank you very much in advance.

Reply via email to