jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Przemyslaw Pakulski <ppakul...@o2.pl>
Subject Re: XPath position() issues
Date Tue, 24 Oct 2006 08:11:48 GMT
Marcel Reutegger wrote :
> Jukka Zitting wrote:
>> Sounds good. Could the reindexing somehow be limited to just updating
>> the position field?
>
> The underlying lucene engine does not allow such updates, you can only 
> delete an existing node from the index and re-add it again with the 
> updated field.
>
>> I'm afraid that the operation would otherwise be
>> quite expensive in performance.
>
> Me too. The omission of a position field in the index was on purpose 
> for scalability reasons when there are a lot of same name siblings. I 
> would rather suggest to fix / improve the position handling in the 
> query builder. This also keeps the fix backward compatible. 
> Introducing a new field in the index would require a re-indexing of 
> the repository to get it working.
>
> regards
>  marcel

Could you explain what do you mean by improving position handling in the 
query builder ?

I think only way to implement position() function is to add 
index/position field to lucene index. With this approach both issues 
JCR-591, JCR-269 can be fixed.
There is some optimisation possible to reindex only same name siblings 
nodes on delete.
Introducing a new field require a re-indexing of the repository, but it 
is not big drawback I think.

Przemo


Mime
View raw message