2017-02-22 1 views
0

ich im Anschluss an die Schindeln Beispiel bei https://www.elastic.co/guide/en/elasticsearch/guide/current/shingles.htmlElasticseach Massenladen seltsam 1 von 3 Dokumente fehlen

in seltsame Probleme laufen Wenn ich zu indizieren versuchen, die drei Dokumente auf diesem Tutorial, nur zwei von ihnen indiziert, das Dokument mit ID 3 wird nie indiziert.

Die Anfrage gebucht http://elastic:9200/myIndex/page/_bulk ist:

{ "index": { "_id": 1 }} 
{ "text": "Sue ate the alligator" } 
{ "index": { "_id": 2 }} 
{ "text": "The alligator ate Sue" } 
{ "index": { "_id": 3 }} 
{ "text": "Sue never goes anywhere without her alligator skin purse" } 

Aber die Antwort ist:

{ 
"took": 18, 
"errors": false, 
"items": [ 
    { 
     "index": { 
      "_index": "myIndex", 
      "_type": "page", 
      "_id": "1", 
      "_version": 1, 
      "_shards": { 
       "total": 1, 
       "successful": 1, 
       "failed": 0 
      }, 
      "status": 201 
     } 
    }, 
    { 
     "index": { 
      "_index": "myIndex", 
      "_type": "page", 
      "_id": "2", 
      "_version": 1, 
      "_shards": { 
       "total": 1, 
       "successful": 1, 
       "failed": 0 
      }, 
      "status": 201 
     } 
    } 
]} 

Index und Mappings Definition:

{ 
"settings": { 
    "number_of_shards": 1, 
    "number_of_replicas": 0, 
    "analysis": { 
     "filter": { 
      "filter_shingle": { 
       "type": "shingle", 
       "max_shingle_size": 5, 
       "min_shingle_size": 2, 
       "output_unigrams": "false" 
      }, 
      "filter_stop": { 
       "type": "stop" 
      } 
     }, 
     "analyzer": { 
      "analyzer_shingle": { 
       "tokenizer": "standard", 
       "filter": ["standard", "lowercase", "filter_stop", "filter_shingle"] 
      } 
     } 
    } 
}, 
"mappings": { 
    "page": { 
     "properties": { 
      "text": { 
       "type": "string", 
       "index_options": "offsets", 
       "analyzer": "standard", 
       "fields": { 
        "shingles": { 
         "search_analyzer": "analyzer_shingle", 
         "analyzer": "analyzer_shingle", 
         "type": "string" 
        } 
       } 
      }, 
      "title": { 
       "type": "string", 
       "index_options": "offsets", 
       "analyzer": "standard", 
       "search_analyzer": "standard" 
      } 
     } 
    } 
}} 
+1

Haben Sie sichergestellt, dass nach dem letzten Dokument ein Zeilenumbruchzeichen eingefügt wird? – Val

+0

Das hat es gelöst, es war ein grundlegender Fehler, kannst du es bitte als Antwort posten, damit ich es dir gutschreiben kann? Vielen Dank. – derelict

Antwort

1

Wenn Dokumente in loser Schüttung veröffentlichen, müssen Sie um sicherzustellen, dass nach der letzten Zeile ein neues Zeilenzeichen alseingefügt wird

curl -XPOST http://elastic:9200/myIndex/page/_bulk -d ' 
{ "index": { "_id": 1 }} 
{ "text": "Sue ate the alligator" } 
{ "index": { "_id": 2 }} 
{ "text": "The alligator ate Sue" } 
{ "index": { "_id": 3 }} 
{ "text": "Sue never goes anywhere without her alligator skin purse" } 
'  <--- new line 
Verwandte Themen