Gautam Worah created LUCENE-10482:
-------------------------------------

             Summary: Allow users to create their own DirectoryTaxonomyReaders 
with empty taxoArrays instead of letting the taxoEpoch decide
                 Key: LUCENE-10482
                 URL: https://issues.apache.org/jira/browse/LUCENE-10482
             Project: Lucene - Core
          Issue Type: Improvement
          Components: modules/facet
    Affects Versions: 9.1
            Reporter: Gautam Worah


I was experimenting with the taxonomy index and {{DirectoryTaxonomyReaders}} in 
my day job where we were trying to replace the index underneath a reader 
asynchronously and then call the {{doOpenIfChanged}} call on it.

It turns out that the taxonomy index uses its own index based counter (the 
{{{}taxonomyIndexEpoch{}}}) to determine if the index was opened in write mode 
after the last time it was written and if not, it directly tries to reuse the 
previous {{taxoArrays}} it had created. This logic fails in a scenario where 
both the old and new index were opened just once but the index itself is 
completely different in both the cases.

In such a case, it would be good to give the user the flexibility to inform the 
DTR to recreate its {{{}taxoArrays{}}}, {{ordinalCache}} and 
{{{}categoryCache{}}} (not refreshing these arrays causes it to fail in various 
ways). Luckily, such a constructor already exists! But it is private today! The 
idea here is to allow subclasses of DTR to use this constructor.

Curious to see what other folks think about this idea. 





--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to