Expand my Community achievements bar.

SOLVED

Property Index or Lucene Index ?

Avatar

Level 4

I want to add oak index for my query and I wanted to know which would be a better option to use ? Lucene or property index? We have the property and its value to be queried upon.

Will it have an impact on the performance if I go with property index?

1 Accepted Solution

Avatar

Correct answer by
Level 3

The Property Index is useful whenever there is a query with a property constraint that is not full-text, i.e exact match. So if you want to index properties whose values are numbers, timestamp or any other specific data then go with Property Index. On the other hand, Lucene Index is for full text constraints(Title, Description and other custom properties with huge text). Lucene index is async, where the sync happens every 5 seconds and Property Index syncs every 10 seconds (This sync period can be changed in OSGi configurations)

 

If you have the query handy then you can generate the index definition using a Oak Utility

View solution in original post

3 Replies

Avatar

Correct answer by
Level 3

The Property Index is useful whenever there is a query with a property constraint that is not full-text, i.e exact match. So if you want to index properties whose values are numbers, timestamp or any other specific data then go with Property Index. On the other hand, Lucene Index is for full text constraints(Title, Description and other custom properties with huge text). Lucene index is async, where the sync happens every 5 seconds and Property Index syncs every 10 seconds (This sync period can be changed in OSGi configurations)

 

If you have the query handy then you can generate the index definition using a Oak Utility

Avatar

Employee Advisor

I don't think that this response is correct. The documentation for the index types can be found on the oak site: 

 

property index: https://jackrabbit.apache.org/oak/docs/query/property-index.html

lucene index: https://jackrabbit.apache.org/oak/docs/query/lucene.html

 

The huge difference is that property indexes are synchronous, but lucene indexes are async. When you work with custom indexes, you should use Lucene indexes.