A plugin that provides a PageProvider implementation for MongoDB Atlas Search for the Nuxeo Platform.
git clone https://github.com/nuxeo-sandbox/nuxeo-mongodb-atlas-search
cd nuxeo-mongodb-atlas-search
mvn clean install -DskipTests
In MongoDB Atlas, create a search index default
for the collection default
and use the sample mapping as a starting point.
To use the atlas search implementation, simply configure the PageProvider to use the atlas search implementation class
<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService">
<genericPageProvider class="org.nuxeo.labs.atlas.search.pp.MongoDBAtlasSearchPP" name="my_pp">
</genericPageProvider>
</extension>
The current implementation doesn't support the following NXQL operator:
- STARTSWITH
- LIKE / NOT LIKE
- ILIKE / NOT ILIKE
Altas Search facet aggregation capabilities are much more limited than Elasticsearch/OpenSearch. Only the following types are supported:
- terms
- range
- date_range
Moreover, the following limitations applies to range
and date_range
:
- cannot be used on complex properties subfields
- ranges are not independent and must be contiguous
These features are not part of the Nuxeo Production platform.
These solutions are provided for inspiration and we encourage customers to use them as code samples and learning resources.
This is a moving project (no API maintenance, no deprecation process, etc.) If any of these solutions are found to be useful for the Nuxeo Platform in general, they will be integrated directly into platform, not maintained here.
TODO
The marketplace package contains a configuration template nuxeo-mongodb-atlas-search
which, when installed, makes the following PageProvider use Atlas Search:
- default_search
- default_trash_search
- simple_search
- expired_search
Nuxeo Platform is an open source Content Services platform, written in Java. Data can be stored in both SQL & NoSQL databases.
The development of the Nuxeo Platform is mostly done by Nuxeo employees with an open development model.
The source code, documentation, roadmap, issue tracker, testing, benchmarks are all public.
Typically, Nuxeo users build different types of information management solutions for document management, case management, and digital asset management, use cases. It uses schema-flexible metadata & content models that allows content to be repurposed to fulfill future use cases.
More information is available at www.nuxeo.com.