Elasticsearch: كيفية إلحاق البيانات لوجود البيانات في المصفوفة؟

تم إنشاؤها على ٢٤ فبراير ٢٠١٥  ·  3تعليقات  ·  مصدر: elastic/elasticsearch

أهلا ،

لديّ مستند حول Elastic search بالتنسيق أدناه.

{
"المعرف": 1 ،
"الاسم": "باب أخضر" ،
"السعر": 12.50،
"العلامات": ["المنزل" ، "الأخضر"]
}

الآن أريد تحديث نفس المستند بقيمة جديدة على مجموعة "العلامات".
القيمة الجديدة هي "أصفر".

بعد تحديث المستند "الأصفر" ليكون موجودًا ، يجب أن يتم عرض المستند الخاص بي على النحو التالي.

{
"المعرف": 1 ،
"الاسم": "باب أخضر" ،
"السعر": 12.50،
"العلامات": ["المنزل" ، "الأخضر" ، "الأصفر"]
}

سؤال: كيف تدمج القيمة الجديدة مع القيم الموجودة؟
شخص ما من فضلك ارشدني على هذا؟

ال 3 كومينتر

ما عليك سوى إعادة فهرسة المستند ، وسيقوم بتحديثه بعد ذلك. انظر http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-index_.html

مرحبًا Markwalkom ،

أعد فهرسة المستند الذي يقوم بالكتابة فوق / تحديث القيم القديمة إلى قيم جديدة.
أعني ، كان بإمكاني رؤية ملف json التالي بعد إعادة الفهرسة أو استدعاء التحديث و upert api.

{
"المعرف": 1 ،
"الاسم": "باب أخضر" ،
"السعر": 12.50،
"العلامات": ["الأصفر"]
}

في الإخراج json ، فقدت قيمي القديمة من علامة المصفوفة
"العلامات": ["المنزل" ، "الأخضر"]

Java Api لتحديث المستند الموجود أو إنشاء مستند جديد إذا لم يكن الخروج.

IndexRequest indexRequest = new IndexRequest ("user"، "test"، "1")
.source (باني) ؛
UpdateRequest updateRequest = new UpdateRequest ("مستخدم" ، "اختبار" ، "1")
.doc (منشئ)
.upsert (indexRequest) ؛
client.update (updateRequest) .get () ،

هذا بالضبط ما يحدث خلف الكواليس. تحديث API احصل على المستند السابق ، ودمج القيم ، وفهرسة المستند الجديد الكامل.

راجع للشغل يرجى طرح الأسئلة على القائمة البريدية. هذه المساحة مخصصة للمشكلات أو طلبات الميزات.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات