On 25/02/2016 16:40, Ancona Francesco wrote: > > Hello, > > we’d like to study in deep queries and index. In particular is not so > clear, from documentation, what is indexed by default. > > For instance if i create a new type of document (IdentityCard with > name IDC) with 2 new properties (idCard and idGeneralAnagrafic) are > these data (ie metadata) indexed ? > Short answer: oak does not index anything by default.
Long one. It depends by how you construct the repository. For example if you build a JCR repository by providing the InitialContent RepositoryInitializer (0), you'll see that it creates some index definitions (1): uuid, nodetype and counter. (0) https://goo.gl/MNpam7 (1) https://goo.gl/G6RChL > > > > And in that case the search is delegated to db (mongo or postgres that > store metadata) or is delegated to solr or lucene ? > As it is now, Oak does not delegate to the persistence any of the searches. We don't have plans to do so as far as I know. In oak we have mainly 2 types of indexs: PropertyIndex and LuceneIndex. You can find more details starting from (3) (3) http://goo.gl/vfMJm3 > Finally, if we store a few million documents, what kind of strategy > would you suggest for the search? > > > The main strategy around searches is that the query is faster then the index is small. So fine tuning the indexes is the main strategy around fast queries. Depending on the index you use it will make sense one strategy versus the other. As a rule of thumb I'd say that doesn't matter what index you use for as long as you keep the content with a decent structure. For example LucenePropertyIndex can evaluate multiple conditions and path restrictions as well. When defining an index you can specify for what path they should index making therefore the index as accurate as possible. It's a tradeoff you'll have to find yourself as with all the performance tuning. Again I'd start with (3). HTH Davide
