ElasticSearch zwraca dokument w poszukiwaniu, ale nie w GET
Wyszukuję dokumenty w moim indeksie, a następnie próbuję je pobrać_id
. Pomimo otrzymania zestawu wyników, niektóre dokumenty nie mogą być odzyskane za pomocą prostego pobierania. Co gorsza, mogę pobrać ten sam dokument z wyszukiwaniem URI, gdzie?_id:<the id>
Na przykład uruchomienie prostego GET
curl -XGET 'http://localhost:9200/keepbusy_process__issuer_application/KeepBusy__Activities__Activity/neHSKSBCSv-OyAYn3IFcew'
Daje mi wynik:
{
"_index" : "keepbusy_process__issuer_application",
"_type" : "KeepBusy__Activities__Activity",
"_id" : "neHSKSBCSv-OyAYn3IFcew",
"exists" : false
}
Ale jeśli przeprowadzę wyszukiwanie za pomocą tego samego _id:
curl -XGET 'http://localhost:9200/keepbusy_process__issuer_application/KeepBusy__Activities__Activity/_search?q=_id:neHSKSBCSv-OyAYn3IFcew'
Otrzymuję oczekiwany wynik:
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1.0,
"hits": [
{
"_index": "keepbusy_process__issuer_application",
"_type": "KeepBusy__Activities__Activity",
"_id": "neHSKSBCSv-OyAYn3IFcew",
"_score": 1.0,
"_source": {
"template_uid": "KeepBusy__Activities__Activity.create application",
"name": "create application",
"updated_at": "2014-01-08T10:02:33-05:00",
"updated_at_ms": 1389193353975
}
}
]
}
}
Indeksuję dokumenty za pomocą ruby API stretcher i natychmiast po indeksowaniu wykonuję odświeżanie. Moja lokalna konfiguracja jest2 węzły. biegnęv0.90.9
W dziennikach nie ma nic oczywistego, dlaczego to się nie powiedzie. Uruchomiłem ponownie klaster i wszystko wydaje się poprawnie uruchamiać, ale wynik jest taki sam.
Czy czegoś brakuje lub w jakiś sposób mogę dalej zdiagnozować ten problem?