สอบถามการอัพเดท แบบ atomic update หรือ patial update หน่อยครับ

46 views
Skip to first unread message

Bczoffyou Chun

unread,
Dec 16, 2014, 10:17:56 AM12/16/14
to solr-user...@googlegroups.com
อยากสอบถามครับ ว่าถ้าหากเราต้องการอัพเดทในแบบ atomic update เราสามารถทำการ update ได้ทีละหลาย ๆ document ในเวลาเดียวกันได้มั้ยครับ 
ซึ่งปกติแล้วผมจะส่งข้อมูลแบบ json เข้าไปอัพเดทประมาณนี้ 

       "add" => array(
            "doc" => array(
                "product_id" => P0001,
                 "store_id" => array(
                      "set" => ST001
                  ),
                  "store_status" => array(
                      "set" => 'open'
                  ),
                  "overwrite" => true
         )

รบกวนด้วยครับ
ขอบคุณครับ
ราชันย์

Pairote Leelaphattarakij

unread,
Dec 19, 2014, 2:57:38 AM12/19/14
to solr-user...@googlegroups.com
Atomic updates เป็น feature ที่มีใน Solr เวอร์ชั่น 4.0 ไว้สำหรับ update ค่าของ field โดยไม่ต้องส่งข้อมูลมาทั้ง document นั่นคือไม่ต้องส่งค่าของ field อื่นๆที่ไม่มีการเปลี่ยนแปลงมาด้วยครับ
ภายในตัว Solr เองก็จะ ลบ doc อันเก่าแล้วเพิ่ม doc อันใหม่ให้เราเอง
แต่มีเงื่อนไขสำคัญคือ ทุกๆ field ใน schema.xml ต้องตั้งให้ stored=true ทั้งหมดครับ
ส่วนการส่งคำสั่งไป update ทีละหลายๆ document สามารถทำได้ครับ ดูตัวอย่างจาก JSON ด้านล่างเลยครับ

[
 {
  "product_id"   : "P0001",
  "store_id"     : {"set":"ST001"},
  "store_status" : {"set":"open"}
 },
 {
  "product_id"   : "P0002",
  "store_id"     : {"set":"ST002"},
  "store_status" : {"set":"closed"}
 }
]

ไพโรจน์

Bczoffyou Chun

unread,
Jan 5, 2015, 5:38:42 AM1/5/15
to solr-user...@googlegroups.com

ขอบคุณมากนะครับคุณไพโรจน์ ตอนนี้สามรถทำการ update แบบ  atomic ได้แล้วครับ
จากตัวอย่างที่ให้มาใช้ได้จริงครับ

ราชันย์
Reply all
Reply to author
Forward
0 new messages