2013-08-14 1 views
3

Je poste une requête à http://localhost:9200/movie_db/movie/_search mais l'attribut _source est toujours vide sur la resposne de retour. Je l'ai activé, mais cela n'aide pas.ElasticSearch _Source est toujours vide sur le retour

Film DB:

TRY DELETE /movie_db 
PUT /movie_db {"mappings": {"movie": {"properties": {"title": {"type": "string", "analyzer": "snowball"}, "actors": {"type": "string", "position_offset_gap" : 100, "analyzer": "standard"}, "genre": {"type": "string", "index": "not_analyzed"}, "release_year": {"type": "integer", "index": "not_analyzed"}, "description": {"_source": true, "type": "string", "analyzer": "snowball"}}}}} 
BULK INDEX movie_db/movie 
{"_id": 1, "title": "Hackers", "release_year": 1995, "genre": ["Action", "Crime", "Drama"], "actors": ["Johnny Lee Miller", "Angelina Jolie"], "description": "High-school age computer expert Zero Cool and his hacker friends take on an evil corporation's computer virus with their hacking skills."} 
{"_id": 2, "title": "Johnny Mnemonic", "release": 1995, "genre": ["Science Fiction", "Action"], "actors": ["Keanu Reeves", "Dolph Lundgren"], "description": "A guy with a chip in his head shouts incomprehensibly about room service in this dystopian vision of our future."} 
{"_id": 3, "title": "Swordfish", "release_year": 2001, "genre": ["Action", "Crime"], "actors": ["John Travolta", "Hugh Jackman", "Halle Berry"], "description": "A cast of characters challenge society's commonly held view that computer experts are not the beautiful people. Somehow, the CIA is hacked in under 5 minutes."} 
{"_id": 4, "title": "Tomb Raider", "release_year": 2001, "genre": ["Adventure", "Action", "Fantasy"], "actors": ["Angelina Jolie", "Jon Voigt"], "description": "The story of a girl and her quest for antiquities in the face of adversity. This epic is adapter from its traditional video-game format to the big screen"} 

Requête:

{ 
    "query" : 
    { 
     "term" : { "genre" : "Crime" } 
    }, 
} 

Résultats:

{ 
    "took": 4, 
    "timed_out": false, 
    "_shards": { 
     "total": 5, 
     "successful": 5, 
     "failed": 0 
    }, 
    "hits": { 
     "total": 2, 
     "max_score": 0.30685282, 
     "hits": [ 
      { 
       "_index": "movie_db", 
       "_type": "movie", 
       "_id": "3", 
       "_score": 0.30685282, 
       "_source": {} 
      }, 
      { 
       "_index": "movie_db", 
       "_type": "movie", 
       "_id": "1", 
       "_score": 0.30685282, 
       "_source": {} 
      } 
     ] 
    } 
} 
+0

Quelle est votre application et comment voulez-vous les données d'index? Cela nous aidera à vous donner une réponse. Vous pouvez créer un gist pour garder le poste court. – jackdbernier

+0

@jackdbernier, j'ai ajouté le fichier db. Merci! –

Répondre

0

Solution:

Dans le dossier de configuration ElasticSearch, elasticsearch.yml ouvert et installation en clusters .nam e à une valeur différente, puis redémarrez elasticsearch.bat

0

J'ai eu le même problème: en dépit permettant _source dans ma requête, ainsi que dans mes applications, _source serait toujours {}. La solution que vous avez proposée de définir cluster.name dans elasticsearch.yml m'a donné l'indication que le problème doit être un paramètre caché dans l'ancien cluster.

j'ai découvert que j'avais une définition de modèle d'index fourni avec un plugin que j'ai installé (dans mon cas ElasticSearch-transport Couchbase), qui dit

"_source" : { 
     "includes" : [ "meta.*" ] 
    }, 

excluant ainsi implicitement tous les domaines autres que meta.* de la source.

Vérifiez vos modèles comme ceci:

curl -XGET localhost:9200/_template/?pretty 

J'ai supprimé le modèle couchbase comme si

curl -XDELETE localhost:9200/_template/couchbase 

et a créé une nouvelle, un presque identique, mais avec source activé.

Voici comment: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html

Questions connexes