Hi, For Lucene based property index (OAK-2005) I need to make LuceneIndex implement AdvanceQueryIndex. As AggregateIndex (AI) wrap LuceneIndex (for FullText search) it would also need to be adapted to support the same (OAK-2119). However making it do that seems bit tricky
A - Cost aggregation ----------------------- AggregateIndex aggregates the cost also. How such thing should be implemented in terms of IndexPlan is not clear. Also I am not sure if cost needs to be re defined as wrapped index is not registered. Probably AggregateIndex just returns the baseIndex cost B - FulltextQueryIndex ------------------------------ As FulltextQueryIndex does not extend AdvanceQueryIndex it causes issue in wrapping. Should I create a new AdvanceFulltextQueryIndex like. public interface AdvanceFulltextQueryIndex extends FulltextQueryIndex, AdvancedQueryIndex { } Further I do not understand the AggregateIndex logic very well and not sure how a Fulltext index which also handles property restriction can be wrapped. Any guidance here would be helpful! Given that initial implementation would not support both Fulltext query and Property based query simultaneously we can take an alternative approach for now (its fallback Plan B and only considered last option) 1. Have two impls LuceneIndex and LucenePropertyIndex 2. LuceneIndex would be wrapped by AggregateIndex and would server Fulltext queries 3. LucenePropertyIndex would not be wrapped and would only serve queries which involve property restrictions. With this existing logic would not be modified and we can move ahead with Lucene based property index. Later once we unify them we can tackle this issue Chetan Mehrotra