Ist es möglich, einige spezifische Felder in elasticsearch zu aktualisieren, ohne andere Felder zu überschreiben? ?Nur spezifischen Feldwert in elasticsearch aktualisieren
Antwort
Sie können wie folgt vorgehen:
- erhalten das Dokument
- Update Ihr Feld
- schreiben das Dokument zurück
es das gleiche für Solr ist
wenn Sie nur schreibe ein neues Dokument (mit einer bestehenden ID) und fülle nur das eine Feld, das du aktualisieren willst, das wer Das Dokument (alle anderen Felder) wird überschrieben.
Schau dir das elasticsearch [update api] (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-update.html) an, was nicht so ist Sie müssen das gesamte Dokument selbst einreichen, können jedoch ein Teildokument oder ein Skript einreichen. – javanna
Ja, Elasticsearch unterstützt Teilupdates. Das bedeutet, dass Sie einreichen können:
- ein Teildokument, das mit den bestehenden
- einen Skript zusammengeführt werden, die auf der Oberseite des vorhandenen Dokuments
Werfen Sie einen Blick ausgeführt werden bei die update api. In beiden Fällen passiert es aufgrund der Funktionsweise der zugrunde liegenden Lucene-Bibliothek, dass das zu aktualisierende Dokument abgerufen wird, die Änderungen werden darauf angewendet und das alte Dokument wird mit dem neuen überschrieben. Am Ende des Tages ist es tatsächlich eine vollständige Neuschreiben des Dokuments, aber Sie müssen nicht das gesamte Dokument senden, es sei denn, Sie deaktiviert _source field, standardmäßig aktiviert, das ist das Feld, mit dem Sie auf ganze abrufen können dokumentieren, um Änderungen daran vorzunehmen.
Als Fortsetzung könnten Sie diese Frage http://stackoverflow.com/questions/28937946/elasticsearch-particu-update-of-not-indexed-field betrachten –
Als codebased Beitrag zu dieser Antwort kann die folgende Abfrage verwendet werden:
POST /index/type/100100471/_update
{
"doc" : {
"yourProperty" : 10000
}
}
Diese Abfrage aktualisiert yourProperty
Eigenschaft nur.
Als Ergebnis dieser Reaktion wird angezeigt:
{
"_index": "index",
"_type": "type",
"_id": "100100471",
"_version": 1,
"_shards": {
"total": 0,
"successful": 1,
"failed": 0
}
}
- 1. Suche Datum Feldwert in Elasticsearch ohne Zeit
- 2. Wie filtern die ElasticSearch-Ergebnisse den Feldwert?
- 3. ElasticSearch - Erhöhung der Relevanz basierend auf Feldwert
- 4. ElasticSearch: Bedingter Filter basierend auf Feldwert
- 5. Benutzerdefinierte Scoring-Funktion in Elasticsearch gibt keinen erwarteten Feldwert zurück
- 6. Indexiertes Dokument in Elasticsearch aktualisieren
- 7. Wildcard-Suche erforderlich anstelle des spezifischen Feldnamens in elasticsearch
- 8. Aktualisieren Sie ein elasticsearch Dokument
- 9. Laravel - So aktualisieren Sie den Feldwert in sqlite
- 10. Kann ElasticSearch nur für Aggregationen verwendet werden?
- 11. MySQL Aktualisieren Sie einen Feldwert mit Unterabfrage mit mehreren Zeilen
- 12. Wie aktualisiere ich den Feldwert der spezifischen Spalte in SQL Server mithilfe von Abfrage auf einmal?
- 13. Pymongo Wie spezifischen Wert von Zeile in der Matrix aktualisieren
- 14. Subtrahiere zwei Daten mit passendem Feld und einen anderen spezifischen Feldwert in SQL Tabelle
- 15. Elasticsearch Bulk Index - Update nur wenn existiert
- 16. Nur Feldwert von einem Klassenformular in Django anzeigen
- 17. Elasticsearch: Rückkehr nur verschachtelt inner_hits
- 18. In elasticsearch werden nur 10 Dokumente eingefügt
- 19. Elasticsearch GET nur nach POST
- 20. ElasticSearch: Erlaube nur lokale Anfragen
- 21. Elasticsearch Scripting: Aktualisieren von Array-Wert
- 22. Python finde nur Zeichenfolgen mit spezifischen Längennummern
- 23. Elasticsearch Bulk API - Index vs Erstellen/Aktualisieren
- 24. Aktualisieren eines Felds in allen Datensätzen in elasticsearch
- 25. Nur aufgefüllte Eigenschaften aktualisieren
- 26. Wie kann nur einer Zeile ein bestimmter Feldwert zugewiesen werden?
- 27. VSTS-Feld nur definieren, wenn Feldwert nicht gesetzt ist
- 28. Ergebnis Dokumente mit dem gleichen Feldwert zu entfernen, basierend auf einem anderen Feldwert (ohne Aggregation)
- 29. So aktualisieren Sie mutipiple Dokumente in elasticsearch 1.5.2
- 30. ändern Datarow Feldwert
Darf ich wissen, ob meine Antwort hilfreich war? – javanna
ja danke für die Hilfe. Ich habe Skript-Format verwendet und folgte [Update API] (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-update.html) –
Großartig, Sie könnten will die antwort dann annehmen ... – javanna