CONTAINS এবং FREETEXT কুয়েরি ব্যবহার

Full-Text Search T-SQL এ - টি-এসকিউএল (T-SQL) - Database Tutorials

362

CONTAINS এবং FREETEXT হল Full-Text Search ফিচারের অংশ, যা SQL Server-এ ব্যবহৃত হয় ডেটাবেসে শব্দের মধ্যে অনুসন্ধান করার জন্য। এই ফিচারগুলো আপনাকে কনটেন্টের মধ্যে নির্দিষ্ট শব্দ বা ফ্রেজ খুঁজে বের করার জন্য সাহায্য করে এবং এগুলো মূলত টেক্সট ডেটাতে শব্দ বা ফ্রেজ অনুসন্ধানে ব্যবহৃত হয়।


Full-Text Indexing (ফুল-টেক্সট ইনডেক্সিং)

Full-text indexing হল একটি বিশেষ ধরনের ইনডেক্স যা টেবিলের টেক্সট ডেটার মধ্যে শব্দ এবং ফ্রেজ অনুসন্ধানের জন্য ব্যবহৃত হয়। এটি CONTAINS এবং FREETEXT কুয়েরিগুলোর কার্যকারিতা নির্ভর করে।

ফুল-টেক্সট ইনডেক্স তৈরি করার পদ্ধতি:

CREATE FULLTEXT CATALOG MyCatalog AS DEFAULT;
CREATE FULLTEXT INDEX ON MyTable (MyColumn) KEY INDEX PK_MyTable;

এখানে:

  • MyTable: আপনার টেবিলের নাম।
  • MyColumn: আপনার টেবিলের সেই কলাম যার মধ্যে আপনি পূর্ণ-টেক্সট অনুসন্ধান করতে চান।
  • PK_MyTable: টেবিলের প্রধান কী ইনডেক্স (Primary Key Index)।

1. CONTAINS কুয়েরি

CONTAINS কুয়েরি একটি পূর্ণ-টেক্সট অনুসন্ধান ফাংশন যা একটি নির্দিষ্ট শব্দ বা ফ্রেজ এর উপস্থিতি পরীক্ষা করে। এটি শব্দের বা ফ্রেজের সঙ্গে সম্পর্কিত ডেটার অনুসন্ধান করতে ব্যবহৃত হয়।

CONTAINS সিনট্যাক্স:

SELECT * 
FROM MyTable
WHERE CONTAINS(MyColumn, 'search_word');

এখানে:

  • MyColumn: টেবিলের টেক্সট কলাম।
  • search_word: আপনি যে শব্দটি খুঁজছেন।

CONTAINS উদাহরণ:

SELECT * 
FROM Articles
WHERE CONTAINS(Title, 'database');

এটি Articles টেবিলের Title কলাম থেকে এমন রেকর্ড নির্বাচন করবে যেখানে 'database' শব্দটি আছে।

CONTAINS এর উন্নত ব্যবহার:

  1. ফ্রেজ অনুসন্ধান:

    • আপনি একাধিক শব্দের একটি ফ্রেজের জন্য অনুসন্ধান করতে পারেন।
    SELECT * 
    FROM Articles
    WHERE CONTAINS(Title, '"SQL Server"');
    
  2. ওয়ার্ড বা ফ্রেজের ভ্যারিয়েশন খোঁজা:

    • CONTAINS শব্দের বিভিন্ন ভ্যারিয়েশন বা রূপ খুঁজতে সক্ষম। উদাহরণস্বরূপ:
    SELECT * 
    FROM Articles
    WHERE CONTAINS(Title, 'FORMSOF(INFLECTIONAL, "run")');
    

    এটি "run", "ran", "running" ইত্যাদি সমস্ত ভ্যারিয়েশন খুঁজবে।

  3. ওরফা এবং কনটেক্সট অনুসন্ধান:

    • আপনি শব্দের কোনো বিশেষ ধরনের অনুসন্ধান যেমন INFLECTIONAL বা THESAURUS (থিসসরাস) এর মাধ্যমে খুঁজতে পারেন।
    SELECT * 
    FROM Articles
    WHERE CONTAINS(Description, 'FORMSOF(THESAURUS, "happy")');
    

2. FREETEXT কুয়েরি

FREETEXT কুয়েরি ফ্রি-টেক্সট অনুসন্ধান করে। এটি শব্দের বা ফ্রেজের স্পষ্ট মিল ছাড়াও, থিসসরাস বা সিনোনিম এর ভিত্তিতে সম্পর্কিত শব্দ বা অর্থ খুঁজে বের করে। এটি ব্যবহারকারীকে এমন শব্দগুলো খুঁজতে সাহায্য করে যা স্পষ্টভাবে একই শব্দে মেলে না, তবে তাদের মধ্যে ধারণাগত মিল রয়েছে।

FREETEXT সিনট্যাক্স:

SELECT * 
FROM MyTable
WHERE FREETEXT(MyColumn, 'search_phrase');

এখানে:

  • MyColumn: টেবিলের টেক্সট কলাম।
  • search_phrase: আপনি যে শব্দ বা বাক্যাংশের জন্য অনুসন্ধান করছেন।

FREETEXT উদাহরণ:

SELECT * 
FROM Articles
WHERE FREETEXT(Description, 'data analysis');

এটি Articles টেবিলের Description কলাম থেকে এমন রেকর্ড নির্বাচন করবে যেখানে 'data analysis' এর ধারণাগত মিল রয়েছে। "Data" এবং "Analysis" শব্দের বিভিন্ন রূপ বা সম্পর্কিত শব্দ খুঁজে বের করবে।

FREETEXT এর উন্নত ব্যবহার:

  1. ফ্রি-টেক্সটের মাধ্যমে সমার্থক শব্দ খোঁজা:

    • FREETEXT নির্দিষ্ট শব্দ বা ফ্রেজের সমার্থক শব্দ খুঁজে বের করতে সক্ষম।
    SELECT * 
    FROM Articles
    WHERE FREETEXT(Description, 'business analysis');
    
  2. থিসসরাসের মাধ্যমে খোঁজা:

    • FREETEXT থিসসরাস ব্যবহার করে, যার মাধ্যমে সম্পর্কিত শব্দ খোঁজা হয়। উদাহরণস্বরূপ:
    SELECT * 
    FROM Articles
    WHERE FREETEXT(Description, 'happy');
    

CONTAINS এবং FREETEXT এর পার্থক্য

বৈশিষ্ট্যCONTAINSFREETEXT
ব্যবহারনির্দিষ্ট শব্দ বা ফ্রেজ খোঁজাসাধারণত শব্দ বা ফ্রেজের ধারণা অনুসন্ধান
সঠিকতানির্দিষ্ট শব্দের জন্য এক্স্যাক্ট ম্যাচসম্পর্কিত বা সমার্থক শব্দের জন্য খোঁজা
থিসসরাস সমর্থনশব্দের ভ্যারিয়েশন (Inflectional) এবং থিসসরাস সমর্থন করেথিসসরাস সমর্থন করে, তবে নির্দিষ্ট শব্দ অনুসন্ধান না
বাক্যাংশ অনুসন্ধানফ্রেজ অনুসন্ধান সমর্থন করেফ্রি-টেক্সট অনুসন্ধান, সাধারণভাবে শব্দ খোঁজে

সারাংশ

  • CONTAINS কুয়েরি ব্যবহার করে আপনি টেবিলের টেক্সট কলামে নির্দিষ্ট শব্দ বা ফ্রেজের উপস্থিতি খুঁজে বের করতে পারেন।
  • FREETEXT কুয়েরি সাধারণত শব্দ বা ফ্রেজের ধারণাগত মিল অনুসন্ধান করতে ব্যবহৃত হয় এবং এটি সাইনোনিম বা থিসসরাস অনুসারে সম্পর্কিত শব্দগুলোকেও খুঁজে পায়।
  • CONTAINS শব্দ বা ফ্রেজের নির্দিষ্ট মিলের জন্য কার্যকর, যখন FREETEXT সম্পর্কিত বা সমার্থক শব্দের জন্য উপযোগী।

Full-Text Search ফিচারের মাধ্যমে CONTAINS এবং FREETEXT কুয়েরি ডেটাবেসের টেক্সট ডেটাতে উন্নত অনুসন্ধান কার্যকারিতা প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...