HI Eric,
Thanks for detailed explanation.
How can i find that update processor chain is preproces or post process ? i
have configured the update chain processor in for <initParams
path="/update/**,/select,/query">. I am sure this is working as preprocess
for me. i just would like to learn how can i add post process doc steps in
my solr configuration.

The value is added as part of update processor chain is neither epoch nor
_stored_. May I know SolrInputDocument#getFieldValues(fname) returns fro
TrieDateField ? _stored_ or epoch ?

Thanks,
Anil

On Fri, 8 Mar 2019 at 00:02, Erick Erickson <erickerick...@gmail.com> wrote:

> bq.  should be fine as update chain process is pre-process of document
> indexing.
>
> You may be confusing document _routing_ with document _indexing_.
>
> When a document comes in to Solr, the first thing that happens is the doc
> is examined and the ID is used to route the raw document to the appropriate
> shard. If your update processor is in the right place and modifies the
> <uniqueKey> before this, then the changes are included in the hash.
>
> If you change your <uniqueKey> _after_ the hash is computed, then the
> routing is just on the original value.
>
> In both cases the actual ID put in the _index_ is the modified one.
>
> The Solr admin UI is displaying the _stored_ value, which is the
> original input. The actual value in the index is just the Unix epoch
> timestamp.
>
> Best,
> Erick
>
>
> > On Mar 7, 2019, at 9:47 AM, Anil <anilk...@gmail.com> wrote:
> >
> > Hi Eric,
> >
> > Thanks for your response.
> >
> > Yes, we are using solr cloud. i understood your point and has been
> > considered while designing unique id. unique id (i.e Id) is set using
> > update processor chain only and believe this should be fine as update
> chain
> > process is pre-process of document indexing.
> >
> > Could you please point me to resources to understand TrieDateField
> > conversion to 2019-01-03T12:00:00Z format which is displayed solr Admin
> UI
> > ? Thanks.
> >
> >
> > Regards,
> > Anil
> >
> > On Thu, 7 Mar 2019 at 22:49, Erick Erickson <erickerick...@gmail.com>
> wrote:
> >
> >> I’d probably go with a StatelessScriptUpdateProcessorFactory. It allows
> >> you to manipulate the incoming doc in whatever scripting language you
> have
> >> access to, javascript, groovy, etc.
> >>
> >> Do be aware though that if your using SolrCloud and the id field is also
> >> the <uniqueKey> you have to be very careful to do this transformation
> >> _before_ the document is routed to the proper shard. Since routing is
> based
> >> on a hash of the <uniqueKey>, any function that tries to send the doc to
> >> the correct shard will not be reliable.
> >>
> >> For instance, say your id is “1” and your date is “3_4_18”. The shard
> >> would be the hash of “1”. However you’ve changed the id _after_ the doc
> has
> >> been routed to the shard, and it’s now “1_3_4_18”. Next, say you try to
> >> delete by ID. Solr will route the delete request to the hash of 1_3_4_18
> >> which will very likely be the wrong shard.
> >>
> >> Best,
> >> Erick
> >>
> >>> On Mar 6, 2019, at 9:33 PM, Anil <anilk...@gmail.com> wrote:
> >>>
> >>> HI Team,
> >>>
> >>> I am using solr 6.6.2 and my schema includes a date field 'window_time'
> >> of
> >>> TrieDate. window_time is added to doc id of the solr document using
> >>> CloneFieldUpdateProcessorFactory and
> TruncateFieldUpdateProcessorFactory.
> >>>
> >>> I noticed different date formats in window_time and doc id
> >>>
> >>> "window_time" : *"2019-01-03T12:00:00Z"*
> >>> and
> >>> "id": 123445-products-*Thu Jan 03 12:00:00 UTC 2019*
> >>>
> >>>
> >>> i have checked CloneFieldUpdateProcessorFactory and
> >>> TruncateFieldUpdateProcessorFactory soruce code, didnt find much
> >>> customization there.
> >>>
> >>> Is there any way to keep date format of wind_time and its value format
> in
> >>> ID same ?
> >>>
> >>> Thanks in advance.
> >>>
> >>> Regards,
> >>> Anil
> >>
> >>
>
>

Reply via email to