سلام تو این پست میخوایم ببینیم چه جوری یه دیتا توی الستیک سرچ insert,retrieve,delete,update کنیم.
اول از همه ما با kibana کار میکنیم که یک برنامه رایگانه که قابلیت کار با داده های فهرست شده در Elasticsearch ارائه می ده (تعریف ساده که به درد ما میخوره).
اول به شکل بالا نگاه کنید این یه مفهوم دقیق نیست فقط یه مقایسه سادس واسه اینکه درکش راحت تر باشه مثلا من یه index دارم به اسم Person(یه table به اسم Person) که میخوام اطلاعات هر فرد و توش بریزم که میشه document (همون row) که هر کدوم یه فیلد سن دارن .
الان میخوام index به اسم Person دیتا insert کنم ولی به این کار تو الستیک میگیم index . پس inserting = indexing.
سینتکس کلی به این شکله که باید اسم index و type و id بهش بدین . فقط اینکه id باید unique باشه و اگه id بهش ندین خود الستیک یه id واسش میسازه .
الان من یه index به اسم person دارم که یک documnet داره و میبینین که فیلداشو به صورت json میدیم و ذخیره میکنه . نیجه اجرا به شکل زیر میشه
که الان فیلدی که تو بحث ما میگنجه(مثلا shard جدا بعدا ) version که میبینین زده ۱ اگه ۱۰ بار این دستورو اجرا کنین هر بار اضافه میشه چون دارین یک داکیومنت تکراری و هی over write میکنین. مثلا بعد ۱۰ بار تکرار:
حالا برای retrieve کردن :
و نتیجه :
که دیتای شما توی قسمت source هست . حالا اگه اون اطلاعات اضافه رو نمیخواین فقط source میخواین :
و نتیجه :
حالا اگه اصلا اطلاعات نمیخواین فقط میخواین ببینین این documnet وجود داره یا نه :
و نتیجه به صورت : 200 هست اگه ام که نباشه 404
وقتی شما یه فیلدی از یه document و update میکنین فقط اون فیلد update نمیشه بلکه کل document میاد update میشه
الان من هم age عوض کردم و همlastname پاک کردم .
میبینین که result شده updated . و اگه بخوام دیتارو ببینم شده
حالا اگه بخواین یه فیلد خاص و تغییر بدین
از update_ و doc استفاده میکنین و فقط name الان تغییر میکنه و بقیه فیلدا همون جوری می مونه.
برای حذف کردن به داکیومنت :
الان داکیومنت با id و۱ حذف شد ولی index که ساختیم person وجود داره که اگه دستور زیرو اجرا کنید ساختار اون index میاره واستون
برای پاک کردن index :
DELETE /person
خب اینم ساده ترین دستورای الستیک امیدوارم واسه شروع واستون مفید بوده باشه . اینکه واقعا اینا ساده ترینا بود :))
راستی برای بالا اوردن الستیک و کیبانا از داکر کمک بگیرین حتما بدون اونم میشه ولی خب راه ساده رو انتخاب کنید.