[ 
http://jira.nuxeo.org/browse/NXP-2470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=37986#action_37986
 ] 

Bogdan Stefanescu commented on NXP-2470:
----------------------------------------

This is an improvement of the core search that should be able to handle 
all the basic search cases.
Jackrabbit as you know comes with indexing capabilities based on lucene. 
Unfortunately the NXQL was never mapped correctly
to be able to use  for real jackrabbit indexing which is quite fast and 
done synchronously for non blob properties.
(Jackrabbit comes with some custom improvements for incremental indexing 
without affecting performance - it is using in memory index merging)

More, in jackrabbit 1.4 you can create aggregate fields - this can be 
used  to index a document  along with any document complex field you want.
So, we can potentially do all the search service is doing - but without 
the overhead of this service.
(and including fulltext search)

What I've done for now is to map all queries supported by the search 
service to the core query mechanism (mapped on JackRabbit XPATH)
I've finished the mapping - queries work correctly now using 
CoreSession.query() method - even complex field queries like:
SELECT * FROM file WHERE file/filename LIKE "*.doc"
I've updated NXQL to support property paths and not only field names - 
this way it's easy to make queries on complex fields.

What is not yet done (but should be easy) is to test the aggregate 
fields and the blob indexing. When this will be done
the core query will be powerful enough to replace the search service.
Imagine that you can do any query (or almost) you do now using the 
search service - but without deploying this service.
Note that in the current nuxeo version the jackrabbit indexing is always 
performed - so using the core query is not adding
any overhead - it is only using a jackrabbit feature that always existed 
in the core but was ignored until now.

One of the target of the core query is to have a working query mechanism 
at core level which is a must for any real repository and not to depend 
on external search services.
Another target is to be able to deploy and use search in webengine 
(nuxeo light - an embedded server based on jetty) without installing the 
search service or JMS.
Another target is to have a working query API at core level that will be 
implemented also by the future SQL core backend.
Another one is to be able to have client side repositories (Apogee 
offline feature) and search capabilties without any overhead.


> Fix core query.
> ---------------
>
>                 Key: NXP-2470
>                 URL: http://jira.nuxeo.org/browse/NXP-2470
>             Project: Nuxeo Enterprise Platform
>          Issue Type: Improvement
>          Components: JCRConnector, Query / Search
>    Affects Versions: 5.2 M1
>            Reporter: Bogdan Stefanescu
>            Assignee: Bogdan Stefanescu
>            Priority: Critical
>             Fix For: 5.2 RC
>
>   Original Estimate: 3 days
>  Remaining Estimate: 3 days
>
> Fix core query.
> Map NXQL to XPATH and not no JCR SQL since it is more flexible

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets

Reply via email to