Just to add in that thread Marcel suggested to use the NodeState related to index definition [3]. This would work fine for property index which directly use that defintion. However currently we manage Lucene index (IndexSearcher) by path. Hence the need to access to index path details to obtain the right Lucene index
Chetan Mehrotra [3] http://markmail.org/message/jjrkz7x7vwzunypa On Thu, Oct 9, 2014 at 4:40 PM, Chetan Mehrotra <chetan.mehro...@gmail.com> wrote: > Hi, > > While working on Lucene property index support I need to modify the > logic to support multiple Lucene Index definitions. The approach used > in patch attached to OAK-2005 creates multiple LuceneIndex instances > which are bound to various Lucene index definitions [1]. > > However as discussed in last Oakathon we also need to be prepared to > support index at non root node (OAK-1980). And for that it was > suggested to return multiple IndexPlans from within Index impl which > take into account index definition determined via path restriction. > > To do that later when actual query is to be performed I need to > corelated the IndexPlan with actual LuceneIndex. Current IndexTracker > tracks Lucene indexes via path. So I need to determine what index path > in repo given IndexPlan refers to. Similar thing was discussed > sometime back in [2]. > > So any thoughts on what approach to take > > 1. Use a custom IndexPlan impl and add required meta info like index > path in that > 2. Have some way of passing a payload in the IndexPlan itself which an > index impl can use to manage such info > > Chetan Mehrotra > [1] > https://github.com/chetanmeh/jackrabbit-oak/compare/chetanmeh:trunk...OAK-2005?diff=split#diff-12 > [2] http://markmail.org/thread/jjrkz7x7vwzunypa