All versions of this manual
X
 

Search index: Configuring Elasticsearch

Elasticsearch is supported from version 6.x using the elasticSearch connector.

Embedded Elasticsearch

Linkurious Enterprise ships with an embedded Elasticsearch server (version 7.10.2).

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 Enterprise 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

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 Enterprise 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)
  • numberOfShards (default: 1): The number of shards each index has. This parameter must be set before the graph database is indexed for the first time.
  • numberOfReplicas (default: 1): The number of replica each shard has. This parameter must be set before the graph database is indexed for the first time.

Example configuration:

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

Enabling search on numerical and date properties

Please check here how to configure search on numerical and date properties.