All versions of this manual
X
 

Search index: Configuring Elasticsearch

Elasticsearch is supported from version 1.4.0 (using the elasticSearch connector) and for version 2.x and version 5.x (using the elasticSearch2 connector).

Elasticsearch 6 is not yet supported in Linkurious 2.6.6.

Embedded Elasticsearch

Linkurious ships with an embedded Elasticsearch server (version 1.4.5).

ATTENTION: The internal Elasticsearch is not intended to be used for graph databases > 50,000,000 nodes. Though indexation and search performance are ultimately dependent on hardware limitations, it has been configured to prevent horizontal scaling and so is not an efficient choice for large DBs. It is meant instead as a quick indexation strategy for POCs or small deployments.

To use the Linkurious embedded Elasticsearch instance, set the following index configurations keys:

  • vendor must be elasticSearch
  • host must be "127.0.0.1"
  • port must be 9201

Example configuration:

{
  "dataSources": [
    {
      "graph": {
        "vendor": "neo4j"
        "url": "http://127.0.0.1:7474"
      },
      "index": {
        "vendor": "elasticSearch",
        "host": "127.0.0.1",
        "port": 9201
      }
    }
  ]
}

Configuring Elasticsearch v1.x

Search connector elasticSearch supports the following options:

  • host (required): Elasticsearch server host
  • port (required): Elasticsearch server port (standard is 9200)
  • https: true to connect to Elasticsearch via HTTPS
  • user: Elasticsearch username (if you are using X-Pack Security, a.k.a ElasticShield)
  • password: Elasticsearch password
  • forceReindex: true to re-index the data-source each time Linkurious starts
  • skipEdgeIndexation: true to skip edges indexation (edges won't be searchable)
  • analyzer (default: "standard"): The custom analyzer aimed at analyzing a specific language text. (see available language analysers)
  • dynamicMapping: true to enable number parsing for advanced number search features (range, etc.)
  • dateDetection: true to enable date parsing for advanced date search features (range, etc.)

Example configuration:

{
  "dataSources": [
    {
      "graph": {
        "vendor": "neo4j"
        "url": "http://127.0.0.1:7474"
      },
      "index": {
        "vendor": "elasticSearch",
        "host": "192.168.1.80",
        "port": 9200,
        "dynamicMapping": false
      }
    }
  ]
}

Configuring Elasticsearch v2.x

Search connector elasticSearch2 supports the following options:

  • host (required): Elasticsearch server host
  • port (required): Elasticsearch server port (standard is 9200)
  • https: true to connect to Elasticsearch via HTTPS
  • user: Elasticsearch username (if you are using X-Pack Security, a.k.a ElasticShield)
  • password: Elasticsearch password
  • forceReindex: true to re-index the data-source each time Linkurious starts
  • skipEdgeIndexation: true to skip edges indexation (edges won't be searchable)
  • analyzer (default: "standard"): The custom analyzer aimed at analyzing a specific language text. (see available language analysers)
  • dynamicMapping: true to enable number parsing for advanced number search features (range, etc.)
  • forceStringMapping: List of fields that are mapped to strings even with dynamicMapping is true
  • caCert: Absolute path to a Certificate Authority certificate

Example configuration:

{
  "dataSources": [
    {
      "graph": {
        "vendor": "neo4j"
        "url": "http://127.0.0.1:7474"
      },
      "index": {
        "vendor": "elasticSearch2",
        "host": "192.168.1.122",
        "port": 9200,
        "skipEdgeIndexation": true
      }
    }
  ]
}