{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-elasticsearch-core",
      "artifactVersion": "9.10",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "org.nuxeo.elasticsearch.audit",
          "org.nuxeo.elasticsearch.automation",
          "org.nuxeo.elasticsearch.core",
          "org.nuxeo.elasticsearch.http.readonly",
          "org.nuxeo.elasticsearch.seqgen",
          "org.nuxeo.elasticsearch.web"
        ],
        "hierarchyPath": "/grp:org.nuxeo.elasticsearch",
        "id": "grp:org.nuxeo.elasticsearch",
        "name": "org.nuxeo.elasticsearch",
        "parentIds": [],
        "readmes": [],
        "version": "9.10"
      },
      "bundleId": "org.nuxeo.elasticsearch.core",
      "components": [
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchDocWriter",
              "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.ElasticSearchComponent.contrib/Contributions/org.nuxeo.elasticsearch.ElasticSearchComponent.contrib--elasticSearchDocWriter",
              "id": "org.nuxeo.elasticsearch.ElasticSearchComponent.contrib--elasticSearchDocWriter",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.elasticsearch.ElasticSearchComponent",
                "name": "org.nuxeo.elasticsearch.ElasticSearchComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"elasticSearchDocWriter\" target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\">\n    <writer class=\"org.nuxeo.ecm.automation.jaxrs.io.documents.JsonESDocumentWriter\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.ElasticSearchComponent.contrib",
          "name": "org.nuxeo.elasticsearch.ElasticSearchComponent.contrib",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.elasticsearch.ElasticSearchComponent.contrib\" version=\"1.0\">\n\n  <extension point=\"elasticSearchDocWriter\" target=\"org.nuxeo.elasticsearch.ElasticSearchComponent\">\n    <writer class=\"org.nuxeo.ecm.automation.jaxrs.io.documents.JsonESDocumentWriter\" />\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/elasticsearch-service-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.management.CoreManagementComponent--healthCheck",
              "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.managment.contrib/Contributions/org.nuxeo.elasticsearch.managment.contrib--healthCheck",
              "id": "org.nuxeo.elasticsearch.managment.contrib--healthCheck",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.management.CoreManagementComponent",
                "name": "org.nuxeo.ecm.core.management.CoreManagementComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"healthCheck\" target=\"org.nuxeo.ecm.core.management.CoreManagementComponent\">\n    <probe enabled=\"true\" name=\"elasticSearchStatus\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.management.CoreManagementComponent--probes",
              "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.managment.contrib/Contributions/org.nuxeo.elasticsearch.managment.contrib--probes",
              "id": "org.nuxeo.elasticsearch.managment.contrib--probes",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.management.CoreManagementComponent",
                "name": "org.nuxeo.ecm.core.management.CoreManagementComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"probes\" target=\"org.nuxeo.ecm.core.management.CoreManagementComponent\">\n    <probe class=\"org.nuxeo.elasticsearch.status.ElasticSearchStatusProbe\" name=\"elasticSearchStatus\">\n      <label>Elastic Search probe</label>\n    </probe>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.managment.contrib",
          "name": "org.nuxeo.elasticsearch.managment.contrib",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.elasticsearch.managment.contrib\">\n  <require>org.nuxeo.elasticsearch.ElasticSearchComponent</require>\n\n  <extension point=\"probes\" target=\"org.nuxeo.ecm.core.management.CoreManagementComponent\">\n    <probe name=\"elasticSearchStatus\" class=\"org.nuxeo.elasticsearch.status.ElasticSearchStatusProbe\">\n      <label>Elastic Search probe</label>\n    </probe>\n  </extension>\n\n  <extension point=\"healthCheck\" target=\"org.nuxeo.ecm.core.management.CoreManagementComponent\">\n    <probe name=\"elasticSearchStatus\" enabled=\"true\" />\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/elasticsearch-managment-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.io.MarshallerRegistry--marshallers",
              "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.marshallers/Contributions/org.nuxeo.elasticsearch.marshallers--marshallers",
              "id": "org.nuxeo.elasticsearch.marshallers--marshallers",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.io.MarshallerRegistry",
                "name": "org.nuxeo.ecm.core.io.MarshallerRegistry",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"marshallers\" target=\"org.nuxeo.ecm.core.io.MarshallerRegistry\">\n    <register class=\"org.nuxeo.elasticsearch.io.marshallers.json.AggregateJsonWriter\" enable=\"true\"/>\n    <register class=\"org.nuxeo.elasticsearch.io.HighlightJsonEnricher\" enable=\"true\"/>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.marshallers",
          "name": "org.nuxeo.elasticsearch.marshallers",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.elasticsearch.marshallers\" version=\"1.0.0\">\n  <extension point=\"marshallers\" target=\"org.nuxeo.ecm.core.io.MarshallerRegistry\">\n    <register class=\"org.nuxeo.elasticsearch.io.marshallers.json.AggregateJsonWriter\" enable=\"true\" />\n    <register class=\"org.nuxeo.elasticsearch.io.HighlightJsonEnricher\" enable=\"true\" />\n  </extension>\n</component>\n",
          "xmlFileName": "/OSGI-INF/marshallers-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.event.EventServiceComponent--listener",
              "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.core.listener/Contributions/org.nuxeo.elasticsearch.core.listener--listener",
              "id": "org.nuxeo.elasticsearch.core.listener--listener",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.event.EventServiceComponent",
                "name": "org.nuxeo.ecm.core.event.EventServiceComponent",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"listener\" target=\"org.nuxeo.ecm.core.event.EventServiceComponent\">\n\n    <listener async=\"false\" class=\"org.nuxeo.elasticsearch.listener.ElasticSearchInlineListener\" enabled=\"true\" name=\"elasticSearchInlineListener\" postCommit=\"false\" priority=\"500\">\n      <event>beforeDocumentModification</event>\n      <event>documentCreated</event>\n      <event>documentImported</event>\n      <event>documentCreatedByCopy</event>\n      <event>documentMoved</event>\n      <event>lifecycle_transition_event</event>\n      <event>documentRestored</event>\n      <event>documentSecurityUpdated</event>\n      <event>documentRemoved</event>\n      <event>sessionSaved</event>\n      <event>documentCheckedOut</event>\n      <event>documentCheckedIn</event>\n      <event>binaryTextUpdated</event>\n      <event>documentTagUpdated</event>\n      <event>documentProxyUpdated</event>\n      <event>childrenOrderChanged</event>\n    </listener>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.core.listener",
          "name": "org.nuxeo.elasticsearch.core.listener",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.elasticsearch.core.listener\">\n\n  <extension point=\"listener\" target=\"org.nuxeo.ecm.core.event.EventServiceComponent\">\n\n    <listener name=\"elasticSearchInlineListener\" async=\"false\" class=\"org.nuxeo.elasticsearch.listener.ElasticSearchInlineListener\"\n      enabled=\"${elasticsearch.enabled:=true}\" postCommit=\"false\" priority=\"500\">\n      <event>beforeDocumentModification</event>\n      <event>documentCreated</event>\n      <event>documentImported</event>\n      <event>documentCreatedByCopy</event>\n      <event>documentMoved</event>\n      <event>lifecycle_transition_event</event>\n      <event>documentRestored</event>\n      <event>documentSecurityUpdated</event>\n      <event>documentRemoved</event>\n      <event>sessionSaved</event>\n      <event>documentCheckedOut</event>\n      <event>documentCheckedIn</event>\n      <event>binaryTextUpdated</event>\n      <event>documentTagUpdated</event>\n      <event>documentProxyUpdated</event>\n      <event>childrenOrderChanged</event>\n    </listener>\n\n  </extension>\n</component>\n",
          "xmlFileName": "/OSGI-INF/listener-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "componentClass": "org.nuxeo.elasticsearch.ElasticSearchComponent",
          "documentationHtml": "",
          "extensionPoints": [
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.elasticsearch.ElasticSearchComponent",
              "descriptors": [
                "org.nuxeo.elasticsearch.config.ElasticSearchIndexConfig"
              ],
              "documentation": "\n      Extension point used to setup an Elasticsearch index.\n\n      The one used to index Nuxeo documents must be of type \"doc\".\n\n      <code>\n    <elasticSearchIndex create=\"true\" name=\"nuxeo\" type=\"doc\">\n        <settings/>\n        <mapping/>\n        <fetchFromSources>\n            <include>ecm:*</include>\n            <include>dc:*</include>\n            <exclude>ecm:binaryFulltext</exclude>\n        </fetchFromSources>\n    </elasticSearchIndex>\n</code>\n\n\n      @Since 5.9.3\n      name is the Elasticsearch index name.\n\n      type is the Elasticsearch type that hold a mapping, \"doc\" is the mapping\n      for Nuxeo documents\n\n      create can be set to false if you don't want Nuxeo to initialize the index\n      and mapping.\n\n      settings the Elasticsearch settings\n      @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules.html\n\n      mapping the Elasticsearch mapping for the type\n      @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping.html\n\n      @Since 5.9.5\n      fetchFromSources, include a list of field name pattern that will be included\n      when fetching document from Elasticsearch (@see NxQueryBuilder.fetchFromElasticsearch)\n      use the exclude list to prevent returning fulltext or long fields.\n\n    \n",
              "documentationHtml": "<p>\nExtension point used to setup an Elasticsearch index.\n</p><p>\nThe one used to index Nuxeo documents must be of type &#34;doc&#34;.\n</p><p>\n</p><pre><code>    &lt;elasticSearchIndex create&#61;&#34;true&#34; name&#61;&#34;nuxeo&#34; type&#61;&#34;doc&#34;&gt;\n        &lt;settings/&gt;\n        &lt;mapping/&gt;\n        &lt;fetchFromSources&gt;\n            &lt;include&gt;ecm:*&lt;/include&gt;\n            &lt;include&gt;dc:*&lt;/include&gt;\n            &lt;exclude&gt;ecm:binaryFulltext&lt;/exclude&gt;\n        &lt;/fetchFromSources&gt;\n    &lt;/elasticSearchIndex&gt;\n</code></pre><p>\n&#64;Since 5.9.3\nname is the Elasticsearch index name.\n</p><p>\ntype is the Elasticsearch type that hold a mapping, &#34;doc&#34; is the mapping\nfor Nuxeo documents\n</p><p>\ncreate can be set to false if you don&#39;t want Nuxeo to initialize the index\nand mapping.\n</p><p>\nsettings the Elasticsearch settings\n&#64;see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules.html\n</p><p>\nmapping the Elasticsearch mapping for the type\n&#64;see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping.html\n</p><p>\n&#64;Since 5.9.5\nfetchFromSources, include a list of field name pattern that will be included\nwhen fetching document from Elasticsearch (&#64;see NxQueryBuilder.fetchFromElasticsearch)\nuse the exclude list to prevent returning fulltext or long fields.\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.ElasticSearchComponent/ExtensionPoints/org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchIndex",
              "id": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchIndex",
              "label": "elasticSearchIndex (org.nuxeo.elasticsearch.ElasticSearchComponent)",
              "name": "elasticSearchIndex",
              "version": "9.10"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.elasticsearch.ElasticSearchComponent",
              "descriptors": [
                "org.nuxeo.elasticsearch.config.ElasticSearchDocWriterDescriptor"
              ],
              "documentation": "\n      Extension point used to setup the writer used when a document is indexed.\n      Must extend the JsonESDocumentWriter class.\n\n      <code>\n    <writer class=\"org.nuxeo.ecm.automation.jaxrs.io.documents.JsonESDocumentWriter\"/>\n</code>\n",
              "documentationHtml": "<p>\nExtension point used to setup the writer used when a document is indexed.\nMust extend the JsonESDocumentWriter class.\n</p><p>\n</p><pre><code>    &lt;writer class&#61;&#34;org.nuxeo.ecm.automation.jaxrs.io.documents.JsonESDocumentWriter&#34;/&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.ElasticSearchComponent/ExtensionPoints/org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchDocWriter",
              "id": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchDocWriter",
              "label": "elasticSearchDocWriter (org.nuxeo.elasticsearch.ElasticSearchComponent)",
              "name": "elasticSearchDocWriter",
              "version": "9.10"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.elasticsearch.ElasticSearchComponent",
              "descriptors": [
                "org.nuxeo.elasticsearch.config.ElasticSearchClientConfig"
              ],
              "documentation": "\n      Extension point to define how to access the Elasticsearch cluster.\n\n      For the TransportClient protocol:\n      <code>\n    <elasticSeachClient class=\"org.nuxeo.elasticsearch.client.ESTransportClientFactory\">\n        <option name=\"addressList\">localhost:9300</option>\n        <option name=\"clusterName\">elasticsearch</option>\n        <option name=\"clientTransportSniff\">false</option>\n        <option name=\"clientTransportIgnoreClusterName\">false</option>\n        <option name=\"clientTransportPingTimeout\">5s</option>\n        <option name=\"clientTransportNodesSamplerInterval\">5s</option>\n    </elasticSeachClient>\n</code>\n\n\n      For a Rest client:\n      <code>\n    <elasticSeachClient class=\"org.nuxeo.elasticsearch.client.ESRestClientFactory\">\n        <option name=\"addressList\">localhost:9200</option>\n    </elasticSeachClient>\n</code>\n",
              "documentationHtml": "<p>\nExtension point to define how to access the Elasticsearch cluster.\n</p><p>\nFor the TransportClient protocol:\n</p><p></p><pre><code>    &lt;elasticSeachClient class&#61;&#34;org.nuxeo.elasticsearch.client.ESTransportClientFactory&#34;&gt;\n        &lt;option name&#61;&#34;addressList&#34;&gt;localhost:9300&lt;/option&gt;\n        &lt;option name&#61;&#34;clusterName&#34;&gt;elasticsearch&lt;/option&gt;\n        &lt;option name&#61;&#34;clientTransportSniff&#34;&gt;false&lt;/option&gt;\n        &lt;option name&#61;&#34;clientTransportIgnoreClusterName&#34;&gt;false&lt;/option&gt;\n        &lt;option name&#61;&#34;clientTransportPingTimeout&#34;&gt;5s&lt;/option&gt;\n        &lt;option name&#61;&#34;clientTransportNodesSamplerInterval&#34;&gt;5s&lt;/option&gt;\n    &lt;/elasticSeachClient&gt;\n</code></pre><p>\nFor a Rest client:\n</p><p></p><pre><code>    &lt;elasticSeachClient class&#61;&#34;org.nuxeo.elasticsearch.client.ESRestClientFactory&#34;&gt;\n        &lt;option name&#61;&#34;addressList&#34;&gt;localhost:9200&lt;/option&gt;\n    &lt;/elasticSeachClient&gt;\n</code></pre><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.ElasticSearchComponent/ExtensionPoints/org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchClient",
              "id": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchClient",
              "label": "elasticSearchClient (org.nuxeo.elasticsearch.ElasticSearchComponent)",
              "name": "elasticSearchClient",
              "version": "9.10"
            },
            {
              "@type": "NXExtensionPoint",
              "componentId": "org.nuxeo.elasticsearch.ElasticSearchComponent",
              "descriptors": [
                "org.nuxeo.elasticsearch.config.ElasticSearchEmbeddedServerConfig"
              ],
              "documentation": "\n      Extension point to setup an embedded Elasticsearch instance.\n\n      It creates a local node using the same JVM as Nuxeo.\n\n      This is a test configuration and must NOT be used in production,\n      it is limited to one shard and no replica.\n\n      <code>\n    <elasticSearchLocal clusterName=\"MyCluster\" httpEnabled=\"true\"\n        indexStoreType=\"mmapfs\" nodeName=\"MyNuxeo\" pathData=\"/var/lib/nuxeo/elasticsearch/\"/>\n</code>\n\n\n      Please refer to the Elasticsearch node configuration\n\n      clusterName is the cluster.name\n\n      nodeName is the node.name, default to nuxeoNode\n\n      pathData is the path.data\n\n      indexStoreType is the index.store_type\n\n      httpEnabled is the node.enable_http\n\n    \n",
              "documentationHtml": "<p>\nExtension point to setup an embedded Elasticsearch instance.\n</p><p>\nIt creates a local node using the same JVM as Nuxeo.\n</p><p>\nThis is a test configuration and must NOT be used in production,\nit is limited to one shard and no replica.\n</p><p>\n</p><pre><code>    &lt;elasticSearchLocal clusterName&#61;&#34;MyCluster&#34; httpEnabled&#61;&#34;true&#34;\n        indexStoreType&#61;&#34;mmapfs&#34; nodeName&#61;&#34;MyNuxeo&#34; pathData&#61;&#34;/var/lib/nuxeo/elasticsearch/&#34;/&gt;\n</code></pre><p>\nPlease refer to the Elasticsearch node configuration\n</p><p>\nclusterName is the cluster.name\n</p><p>\nnodeName is the node.name, default to nuxeoNode\n</p><p>\npathData is the path.data\n</p><p>\nindexStoreType is the index.store_type\n</p><p>\nhttpEnabled is the node.enable_http\n</p><p></p>",
              "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.ElasticSearchComponent/ExtensionPoints/org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchEmbeddedServer",
              "id": "org.nuxeo.elasticsearch.ElasticSearchComponent--elasticSearchEmbeddedServer",
              "label": "elasticSearchEmbeddedServer (org.nuxeo.elasticsearch.ElasticSearchComponent)",
              "name": "elasticSearchEmbeddedServer",
              "version": "9.10"
            }
          ],
          "extensions": [],
          "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.ElasticSearchComponent",
          "name": "org.nuxeo.elasticsearch.ElasticSearchComponent",
          "requirements": [],
          "services": [
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.elasticsearch.ElasticSearchComponent",
              "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.ElasticSearchComponent/Services/org.nuxeo.elasticsearch.api.ElasticSearchService",
              "id": "org.nuxeo.elasticsearch.api.ElasticSearchService",
              "overriden": false,
              "version": "9.10"
            },
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.elasticsearch.ElasticSearchComponent",
              "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.ElasticSearchComponent/Services/org.nuxeo.elasticsearch.api.ElasticSearchAdmin",
              "id": "org.nuxeo.elasticsearch.api.ElasticSearchAdmin",
              "overriden": false,
              "version": "9.10"
            },
            {
              "@type": "NXService",
              "componentId": "org.nuxeo.elasticsearch.ElasticSearchComponent",
              "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.ElasticSearchComponent/Services/org.nuxeo.elasticsearch.api.ElasticSearchIndexing",
              "id": "org.nuxeo.elasticsearch.api.ElasticSearchIndexing",
              "overriden": false,
              "version": "9.10"
            }
          ],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.elasticsearch.ElasticSearchComponent\" version=\"1.0\">\n  <require>org.nuxeo.ecm.core.repository.RepositoryServiceComponent</require>\n  <implementation class=\"org.nuxeo.elasticsearch.ElasticSearchComponent\" />\n\n  <service>\n    <provide interface=\"org.nuxeo.elasticsearch.api.ElasticSearchService\" />\n    <provide interface=\"org.nuxeo.elasticsearch.api.ElasticSearchIndexing\" />\n    <provide interface=\"org.nuxeo.elasticsearch.api.ElasticSearchAdmin\" />\n  </service>\n\n  <extension-point name=\"elasticSearchEmbeddedServer\">\n    <documentation>\n      Extension point to setup an embedded Elasticsearch instance.\n\n      It creates a local node using the same JVM as Nuxeo.\n\n      This is a test configuration and must NOT be used in production,\n      it is limited to one shard and no replica.\n\n      <code>\n        <elasticSearchLocal clusterName=\"MyCluster\" httpEnabled=\"true\" indexStoreType=\"mmapfs\"\n          nodeName=\"MyNuxeo\" pathData=\"/var/lib/nuxeo/elasticsearch/\" />\n      </code>\n\n      Please refer to the Elasticsearch node configuration\n\n      clusterName is the cluster.name\n\n      nodeName is the node.name, default to nuxeoNode\n\n      pathData is the path.data\n\n      indexStoreType is the index.store_type\n\n      httpEnabled is the node.enable_http\n\n    </documentation>\n\n    <object class=\"org.nuxeo.elasticsearch.config.ElasticSearchEmbeddedServerConfig\" />\n  </extension-point>\n\n\n  <extension-point name=\"elasticSearchClient\">\n    <documentation>\n      Extension point to define how to access the Elasticsearch cluster.\n\n      For the TransportClient protocol:\n      <code>\n        <elasticSeachClient class=\"org.nuxeo.elasticsearch.client.ESTransportClientFactory\">\n          <option name=\"addressList\">localhost:9300</option>\n          <option name=\"clusterName\">elasticsearch</option>\n          <option name=\"clientTransportSniff\">false</option>\n          <option name=\"clientTransportIgnoreClusterName\">false</option>\n          <option name=\"clientTransportPingTimeout\">5s</option>\n          <option name=\"clientTransportNodesSamplerInterval\">5s</option>\n        </elasticSeachClient>\n      </code>\n\n      For a Rest client:\n      <code>\n        <elasticSeachClient class=\"org.nuxeo.elasticsearch.client.ESRestClientFactory\">\n          <option name=\"addressList\">localhost:9200</option>\n        </elasticSeachClient>\n      </code>\n\n    </documentation>\n    <object class=\"org.nuxeo.elasticsearch.config.ElasticSearchClientConfig\" />\n  </extension-point>\n\n  <extension-point name=\"elasticSearchIndex\">\n    <documentation>\n      Extension point used to setup an Elasticsearch index.\n\n      The one used to index Nuxeo documents must be of type \"doc\".\n\n      <code>\n        <elasticSearchIndex name=\"nuxeo\" create=\"true\" type=\"doc\">\n          <settings></settings>\n          <mapping></mapping>\n          <fetchFromSources>\n            <include>ecm:*</include>\n            <include>dc:*</include>\n            <exclude>ecm:binaryFulltext</exclude>\n          </fetchFromSources>\n        </elasticSearchIndex>\n      </code>\n\n      @Since 5.9.3\n      name is the Elasticsearch index name.\n\n      type is the Elasticsearch type that hold a mapping, \"doc\" is the mapping\n      for Nuxeo documents\n\n      create can be set to false if you don't want Nuxeo to initialize the index\n      and mapping.\n\n      settings the Elasticsearch settings\n      @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules.html\n\n      mapping the Elasticsearch mapping for the type\n      @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping.html\n\n      @Since 5.9.5\n      fetchFromSources, include a list of field name pattern that will be included\n      when fetching document from Elasticsearch (@see NxQueryBuilder.fetchFromElasticsearch)\n      use the exclude list to prevent returning fulltext or long fields.\n\n    </documentation>\n\n    <object class=\"org.nuxeo.elasticsearch.config.ElasticSearchIndexConfig\" />\n  </extension-point>\n\n  <extension-point name=\"elasticSearchDocWriter\">\n    <documentation>\n      Extension point used to setup the writer used when a document is indexed.\n      Must extend the JsonESDocumentWriter class.\n\n      <code>\n        <writer class=\"org.nuxeo.ecm.automation.jaxrs.io.documents.JsonESDocumentWriter\" />\n      </code>\n\n    </documentation>\n    <object class=\"org.nuxeo.elasticsearch.config.ElasticSearchDocWriterDescriptor\" />\n  </extension-point>\n\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/elasticsearch-service.xml",
          "xmlPureComponent": false
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.work.service--queues",
              "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.work.config/Contributions/org.nuxeo.elasticsearch.work.config--queues",
              "id": "org.nuxeo.elasticsearch.work.config--queues",
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.work.service",
                "name": "org.nuxeo.ecm.core.work.service",
                "type": "service"
              },
              "version": "9.10",
              "xml": "<extension point=\"queues\" target=\"org.nuxeo.ecm.core.work.service\">\n    <queue id=\"elasticSearchIndexing\">\n      <name>ElasticSearch Indexing</name>\n      <maxThreads>4</maxThreads>\n      <!-- <usePriority>true</usePriority> -->\n      <category>elasticSearchIndexing</category>\n      <clearCompletedAfterSeconds>90</clearCompletedAfterSeconds>\n    </queue>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core/org.nuxeo.elasticsearch.work.config",
          "name": "org.nuxeo.elasticsearch.work.config",
          "requirements": [],
          "services": [],
          "version": "9.10",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.elasticsearch.work.config\" version=\"1.0\">\n\n  <extension point=\"queues\" target=\"org.nuxeo.ecm.core.work.service\">\n    <queue id=\"elasticSearchIndexing\">\n      <name>ElasticSearch Indexing</name>\n      <maxThreads>${elasticsearch.indexing.maxThreads:=4}</maxThreads>\n      <!-- <usePriority>true</usePriority> -->\n      <category>elasticSearchIndexing</category>\n      <clearCompletedAfterSeconds>${elasticsearch.indexing.clearCompletedAfterSeconds:=90}</clearCompletedAfterSeconds>\n    </queue>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/workmanager-contrib.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-elasticsearch-core-9.10.jar",
      "groupId": "org.nuxeo.elasticsearch",
      "hierarchyPath": "/grp:org.nuxeo.elasticsearch/org.nuxeo.elasticsearch.core",
      "id": "org.nuxeo.elasticsearch.core",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: Apache Maven\r\nBuilt-By: jenkins\r\nBuild-Jdk: 1.8.0_77\r\nBundle-ManifestVersion: 1\r\nBundle-Version: 1.0.0\r\nBundle-Name: ElasticSearch core service integration\r\nBundle-SymbolicName: org.nuxeo.elasticsearch.core;singleton:=true\r\nNuxeo-Component: OSGI-INF/elasticsearch-service.xml,OSGI-INF/listener-\r\n contrib.xml,OSGI-INF/workmanager-contrib.xml,OSGI-INF/elasticsearch-s\r\n ervice-contrib.xml,OSGI-INF/marshallers-contrib.xml,OSGI-INF/elastics\r\n earch-managment-contrib.xml\r\n\r\n",
      "packages": [],
      "requirements": [],
      "version": "9.10"
    }
  ],
  "creationDate": 1664793304638,
  "key": "Nuxeo Platform LTS 2017-9.10",
  "name": "Nuxeo Platform LTS 2017",
  "operations": [],
  "packages": [],
  "pluginSnapshots": {},
  "releaseDate": 1515474000000,
  "version": "9.10"
}