অন্য অন্যান্য নিবন্ধগুলির অনেকগুলি কীভাবে ডেটা নিষ্কাশন করতে পারে সেই বিষয়ে এই নিবন্ধটি ব্যাখ্যা করে যে কীভাবে নিষ্কাশিত ডেটা কীভাবে পরিমার্জন করা যায় তাই কেবলমাত্র কাঙ্ক্ষিত তথ্য থেকে যায়। এটি বিশেষ করতে Criteria পদ্ধতিগুলি ব্যবহৃত হয় যখন নিম্নলিখিত সমস্ত উদাহরণে এইচটিএমএল টেবিল থেকে ডেটা বের করা হয়, যতক্ষণ না তথ্য সামগ্রীর ডিভ, স্প্যান, চিত্র ইত্যাদির প্রতিটি উত্স একই দৈর্ঘ্যের হয় ততক্ষণ এই ডেটা বিভিন্ন উত্স থেকে নেওয়া যেতে পারে sources
Criteria
নীচে এই উদাহরণে টেবিলের ডেটা স্ক্র্যাপ করা হচ্ছে এই টেবিলটিতে চারটি কলাম রয়েছে খেতাব, লেখক, বইয়ের বয়স এবং অবস্থা.
var titles = Page.getTagValues({"position":1,"tag":{"equals":"td"},"parent":{"tag":{"equals":"tr"}}}); var authors = Page.getTagValues({"position":2,"tag":{"equals":"td"},"parent":{"tag":{"equals":"tr"}}}); var ages = Page.getTagValues({"position":3,"tag":{"equals":"td"},"parent":{"tag":{"equals":"tr"}}}); var statuses = Page.getTagValues({"position":4,"tag":{"equals":"td"},"parent":{"tag":{"equals":"tr"}}});
প্রায়শই স্ক্র্যাপযুক্ত ডেটাগুলি পরিমার্জন করা প্রয়োজন যাতে তাদের কেবল প্রয়োজনীয় তথ্য থাকে। এই যেখানে Criteria ফাংশন ব্যবহার করা হয়। উদাহরণস্বরূপ, যদি কেবল প্রকাশিত বইয়ের প্রয়োজন হয় তবে আপনাকে উপরের স্ট্যাটাস কলামটি প্রকাশের জন্য সীমাবদ্ধ করতে হবে এবং তারপরে নীচের চিত্রের মতো অন্যান্য কলামের ডেটাতে এই পরিবর্তনগুলি প্রয়োগ করতে হবে।
Criteria.create(); statuses = Criteria.equals(statuses, "Published"); titles = Criteria.apply(titles); authors = Criteria.apply(authors); ages = Criteria.apply(ages);
ব্যবহার করার সময় Criteria ডেটা হ্রাস করার পদ্ধতিগুলি সমস্ত পরিবর্তন অবশ্যই একবারের একক কলামে প্রয়োগ করা উচিত apply পদ্ধতিটি অন্য যে কোনও কলামে সম্পর্কিত রেকর্ডগুলি সরিয়ে রাখতে হবে। একবার সম্পূর্ণ Criteria.create() অন্য কলামগুলির জন্য মানদণ্ড সেট করার আগে পদ্ধতিটি কল করতে হবে। এই কারণেই এটি কল করা ভাল অনুশীলন Criteria.create() অন্য কোন মানদণ্ড পদ্ধতির আগে।
apply
Criteria.create()
উদাহরণস্বরূপ স্ট্যাটাসস কলামটি কেবল অন্তর্ভুক্ত করার ক্ষেত্রে সীমাবদ্ধ করা হয়েছে প্রকাশিত, তারপর ব্যবহার Criteria.apply সমস্ত তিনটি কলামের ধারাবাহিকতা রক্ষার জন্য অন্য তিনটি কলামে সম্পর্কিত রেকর্ডগুলিও সরানো হয়েছে। মনে রাখবেন যে প্রয়োগ পদ্ধতিটি কেবল তখনই কার্যকর যদি বিভিন্ন কলামে একই সংখ্যক রেকর্ড থাকে।
Criteria.apply
একাধিক উপায়ে ডেটা সীমাবদ্ধ করতে ক্রিটিরিয়াও একত্রিত করা যায়। নীচের উদাহরণটি বইয়ের বয়স কলামটি একের চেয়ে পুরানো তবে পাঁচ বছরেরও কম পুরানো বইগুলিতে ব্যবহার করে সীমাবদ্ধ করে Criteria.lessThan() এবং Criteria.greaterThan() পদ্ধতি।
Criteria.lessThan()
Criteria.greaterThan()
Criteria.create(); ages = Criteria.greaterThan(ages, 1); ages = Criteria.lessThan(ages, 5); titles = Criteria.apply(titles); authors = Criteria.apply(authors); statuses = Criteria.apply(statuses);
কখনও কখনও নকল তথ্য থাকে যা অপসারণ করা প্রয়োজন, এই তথ্যটি সরাতে আপনি এটি ব্যবহার করতে পারেন Criteria.unique পদ্ধতি।
Criteria.unique
Criteria.create(); titles = Criteria.unique(titles); authors = Criteria.apply(authors); ages = Criteria.apply(ages); statuses = Criteria.apply(statuses);
এখন শিরোনাম সংঘর্ষের ভিত্তিতে কোনও সদৃশ সারি সরানো হবে। পরবর্তী পদ্ধতিটি হ'ল Criteria.remove পদ্ধতি। এই কলামগুলির মানগুলি অ্যারে প্যারামিটারে পাওয়া যায় তবে এটি কলাম থেকে আইটেমগুলি সরিয়ে দেয়।
Criteria.remove
var authorsToRemove = ["Mike","Rachel"]; Criteria.create(); titles = Criteria.remove(authors, authorsToRemove); authors = Criteria.apply(titles); ages = Criteria.apply(ages); statuses = Criteria.apply(statuses);
এখানে যে সমস্ত রেকর্ড লেখক কলামে মাইক এবং রাচেলকে সমান করে তারা প্রয়োগ পদ্ধতিটি অপসারণ করা হবে এবং তারপরে অন্যান্য কলামগুলি থেকে সংশ্লিষ্ট রেকর্ডগুলি সরিয়ে ফেলবে।