Database Tutorials JSON এবং Full-Text Search এর ব্যবহার গাইড ও নোট

305

JSON এবং Full-Text Search (FTS) হল ডাটাবেসে ডেটার সঞ্চয় এবং অনুসন্ধানের দুটি শক্তিশালী কৌশল। SQLite-এ JSON ডেটা সংরক্ষণ এবং বিশ্লেষণ করার জন্য প্রয়োজনীয় ফিচারগুলি এবং Full-Text Search (FTS) কুয়েরি ইঞ্জিন ব্যবহার করে আপনার ডেটাবেসে দ্রুত এবং কার্যকরী অনুসন্ধান করা যায়।

SQLite-এ JSON এবং FTS ব্যবহারের মাধ্যমে আপনি আরও কার্যকরী ডেটা পরিচালনা এবং দ্রুত অনুসন্ধান করতে পারবেন। নিচে JSON এবং Full-Text Search-এর মধ্যে ব্যবহারের পদ্ধতি এবং তাদের সুবিধা আলোচনা করা হলো।


১. JSON এর ব্যবহার

SQLite 3.9.0 সংস্করণ থেকে JSON1 Extension অন্তর্ভুক্ত করা হয়েছে, যা SQLite ডাটাবেসে JSON ডেটা সংরক্ষণ এবং পরিচালনা করার সুবিধা প্রদান করে। SQLite-এ JSON ডেটা TEXT টাইপ কলামে সংরক্ষণ করা হয়, এবং JSON সম্পর্কিত অপারেশন করতে JSON1 এক্সটেনশন ফাংশন ব্যবহার করা হয়।

JSON ডেটা সংরক্ষণ:

SQLite-এ JSON ডেটা স্টোর করতে সাধারণত TEXT টাইপ কলাম ব্যবহার করা হয়, যা JSON ফরম্যাটে ডেটা সংরক্ষণ করে।

CREATE TABLE users (
    id INTEGER PRIMARY KEY,
    name TEXT,
    data TEXT
);

এখানে data কলামে JSON ডেটা সংরক্ষণ করা হবে।

JSON ডেটা ইনসার্ট করা:

SQLite-এ JSON ডেটা ইনসার্ট করার জন্য সাধারণত JSON ফরম্যাট ব্যবহার করা হয়:

INSERT INTO users (name, data) 
VALUES ('Alice', '{"age": 30, "email": "alice@example.com", "is_active": true}');

এটি users টেবিলে name এবং data কলামে JSON ডেটা ইনসার্ট করবে।

JSON ডেটা অনুসন্ধান:

SQLite-এ JSON ডেটা অনুসন্ধান করতে JSON1 Extension ফাংশন ব্যবহার করা হয়। উদাহরণস্বরূপ, যদি আপনি data কলামে age এর মান অনুসন্ধান করতে চান, তাহলে json_extract ফাংশন ব্যবহার করা হবে:

SELECT name, json_extract(data, '$.age') AS age 
FROM users
WHERE json_extract(data, '$.age') > 25;

এই কুয়েরিটি users টেবিল থেকে age এর মান ২৫ এর বেশি এমন ব্যবহারকারীদের তথ্য বের করবে।

JSON ডেটা আপডেট করা:

JSON ডেটা আপডেট করতে json_set ফাংশন ব্যবহার করা হয়:

UPDATE users
SET data = json_set(data, '$.age', 31)
WHERE name = 'Alice';

এটি users টেবিলের Alice নামের ব্যবহারকারীর age ক্ষেত্র আপডেট করবে।


২. Full-Text Search (FTS) এর ব্যবহার

SQLite-এ Full-Text Search (FTS) একটি বিশেষ সুবিধা যা ডেটাবেসে টেক্সট ডেটার দ্রুত এবং কার্যকরী অনুসন্ধান করতে ব্যবহৃত হয়। FTS ইনডেক্স ব্যবহার করে আপনি টেক্সট ফিল্ডগুলিতে কীওয়ার্ড অনুসন্ধান এবং ডাটা ফিল্টার করতে পারেন।

SQLite-এ FTS ইমপ্লিমেন্টেশনের জন্য দুটি প্রধান ধরনের ইনডেক্স রয়েছে:

  1. FTS3: সাধারণ Full-Text Search মডেল।
  2. FTS4: FTS3 এর উন্নত সংস্করণ, যা কিছু অতিরিক্ত বৈশিষ্ট্য প্রদান করে।

FTS টেবিল তৈরি করা:

SQLite-এ FTS টেবিল তৈরি করতে CREATE VIRTUAL TABLE কমান্ড ব্যবহার করা হয়। উদাহরণস্বরূপ, যদি আপনি একটি articles টেবিল তৈরি করতে চান যা FTS অনুসন্ধান সক্ষম:

CREATE VIRTUAL TABLE articles USING fts4(title, content);

এখানে articles টেবিল দুটি কলাম title এবং content ধারণ করবে, এবং এই কলামগুলির মধ্যে FTS অনুসন্ধান করতে পারবেন।

FTS টেবিলে ডেটা ইনসার্ট করা:

INSERT INTO articles (title, content)
VALUES ('SQLite Tutorial', 'This is a tutorial on how to use SQLite with React Native.'),
       ('React Native Basics', 'Learn the basics of React Native framework.');

এটি articles টেবিলে দুটি রেকর্ড ইনসার্ট করবে।

FTS অনুসন্ধান করা:

SQLite-এ FTS অনুসন্ধান করতে MATCH অপারেটর ব্যবহার করা হয়। উদাহরণস্বরূপ, যদি আপনি articles টেবিলে এমন ডেটা খুঁজতে চান যেখানে SQLite শব্দটি রয়েছে:

SELECT title, content
FROM articles
WHERE content MATCH 'SQLite';

এটি articles টেবিল থেকে এমন সব রেকর্ড নির্বাচন করবে, যেখানে content কলামে SQLite শব্দটি রয়েছে।

FTS ইনডেক্স অপটিমাইজেশন:

FTS টেবিলটি বড় হলে, আপনি PRAGMA optimize ব্যবহার করে ইনডেক্স অপটিমাইজ করতে পারেন:

PRAGMA optimize;

এই কুয়েরি ইনডেক্সের পারফরম্যান্স উন্নত করবে।


JSON এবং FTS এর সমন্বয়

SQLite-এ আপনি JSON ডেটা এবং FTS ব্যবহার করে একত্রে কাজ করতে পারেন, যা উন্নত অনুসন্ধান এবং বিশ্লেষণ করতে সহায়তা করে। উদাহরণস্বরূপ, আপনি JSON ফিল্ডের মধ্যে সংরক্ষিত ডেটা অনুসন্ধান করতে পারেন এবং সেই ডেটার মধ্যে কীওয়ার্ডের সাথে মিলে এমন টেক্সট রেকর্ড ফিল্টার করতে পারেন।

JSON এবং FTS এর সমন্বয়ে অনুসন্ধান:

SELECT title, json_extract(data, '$.category') AS category
FROM articles
WHERE content MATCH 'SQLite'
AND json_extract(data, '$.category') = 'Database';

এটি articles টেবিল থেকে content কলামে SQLite শব্দটি এবং category কলামে Database মান থাকা রেকর্ডগুলো নির্বাচন করবে।


সারাংশ

SQLite-এ JSON এবং Full-Text Search (FTS) ব্যবহারের মাধ্যমে আপনি ডেটাবেসের ডেটা স্টোরেজ এবং অনুসন্ধান দক্ষতার সাথে পরিচালনা করতে পারেন। JSON ফাংশনগুলি JSON ডেটা সংরক্ষণ এবং বিশ্লেষণ করতে সাহায্য করে, এবং FTS আপনাকে দ্রুত এবং কার্যকরী টেক্সট অনুসন্ধান করতে সহায়তা করে। এই দুটি প্রযুক্তির সমন্বয় আপনার অ্যাপ্লিকেশনে শক্তিশালী ডেটাবেস ফিচার যোগ করে, যেমন উন্নত অনুসন্ধান এবং ডেটা বিশ্লেষণ।

Content added By
Promotion

Are you sure to start over?

Loading...