2017-05-16 8 views
-1

J'essaye d'installer la recherche assistée par graphes pour intégrer Neo4j avec ElasticSearch (2.3.1) comme montré here. Mais j'ai du mal à définir les index avec curl.Index Neo4j pour travailler avec Elasticsearch

Lorsque je tente une des commandes curl comme celui-ci:

curl -XPUT http://localhost:9200/Person/_settings?index.gas.neo4j.user=neo4j 

Je reçois ce message d'erreur:

{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index","resource.type":"index_or_alias","resource.id":"Person","index":"Person"}],"type":"index_not_found_exception","reason":"no such index","resource.type":"index_or_alias","resource.id":"Person","index":"Person"},"status":404} 

Prenons par exemple la base de données de film (Film, personne). Comment puis-je définir et configurer Neo4j pour indexer Movie et Person afin que je puisse les appeler avec Elasticsearch?

MISE À JOUR

Quand vous faites par exemple:

CURL XGET http://localhost:9200/person/_search?pretty=true 

-je obtenir ce résultat:

{ 
    "took" : 1, 
    "timed_out" : false, 
    "_shards" : { 
    "total" : 5, 
    "successful" : 5, 
    "failed" : 0 
    }, 
    "hits" : { 
    "total" : 0, 
    "max_score" : null, 
    "hits" : [ ] 
    } 
} 

Mais en fait ce que je suis dans l'attente est de retourner tous les Person nœuds. Comment indiquer l'person index de Elasticsearch pour pointer sur Person nœuds dans Neo4j?

Ce sont les paramètres de person index:

curl XGET http://localhost:7474/person/_settings?pretty

{ 
    "person" : { 
    "settings" : { 
     "index" : { 
     "gas" : { 
      "enable" : "false", 
      "neo4j" : { 
      "user" : "neo4j", 
      "hostname" : "http://localhost:7474", 
      "password" : "neo4j." 
      } 
     }, 
     "creation_date" : "1495006378748", 
     "number_of_shards" : "5", 
     "number_of_replicas" : "1", 
     "uuid" : "PuNk1GskRrW5_1BbGGWPiA", 
     "version" : { 
      "created" : "2030299" 
     } 
     } 
    } 
    } 
} 

Répondre

2

Ajout des paramètres GraphAidedSearch à l'index ES nécessite cet index à créer, comme l'erreur mentionnée.

Vous pouvez le faire en émettant la demande CURL suivante:

CURL -XPUT "http://localhost:9200/Person 

utilisant une extension ElasticSearch (plugin) qui vous permettent d'améliorer les résultats de recherche avec des recommandations fondées sur les graphiques, vous devez disposer d'au moins une compréhension minimale d'Elasticsearch lui-même.

Je vous recommande fortement de commencer par apprendre les bases d'Elasticsearch avant d'utiliser n'importe quel plugin.

+0

Merci pour la solution et les conseils. J'ai commencé à apprendre Elasticsearch. Une seule chose, je suppose que 'Person' devrait être en minuscule:' person' et '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '. , Je ne suis toujours pas capable d'interroger les données 'Neo4j' de' Elasticsearch' Veuillez voir ** UPDATE ** – Benz

+0

Vous devez répliquer les données de Neo4j vers ES Veuillez lire plus en détail la documentation des plugins et les articles de blog Pourquoi voudriez-vous interroger les données de Neo4j à partir d'Elasticsearch? Le but est d'améliorer les résultats de recherche (donc ceux déjà trouvés par une requête ES avec les données ES) avec des algorithmes basés sur les graphes –

+0

Ah d'accord, merci! – Benz