ویرگول
ورودثبت نام
مسعود سلطانی راد
مسعود سلطانی رادچند سالی هست در حوزه داده ها ( نگهداری و تحلیل آنها) فعالیت دارم و همیشه سعی کردم آموخته هایم رو به اشتراک بگذارم soltanirad@artarad.ir www.artarad.ir
مسعود سلطانی راد
مسعود سلطانی راد
خواندن ۳ دقیقه·۷ ماه پیش

بررسی قابلیت DBMS_SEARCH در اوراکل 23ai

مقدمه
با معرفی Oracle Database 23ai، قابلیت جدیدی به نام DBMS_SEARCH اضافه شده است که امکان جستجوی یکپارچه و قدرتمند در داده‌های ذخیره‌شده در پایگاه داده را فراهم می‌کند. این قابلیت به کاربران اجازه می‌دهد تا به راحتی و با سرعت بالا، داده‌های مورد نظر خود را در میان حجم عظیمی از اطلاعات پیدا کنند. در این مقاله، به بررسی این قابلیت و ارائه یک مثال کاربردی می‌پردازیم.
DBMS_SEARCH چیست؟
DBMS_SEARCH یک پکیج PL/SQL است که امکان جستجوی متن کامل (Full-Text Search) را در پایگاه داده اوراکل فراهم می‌کند. این قابلیت به شما اجازه می‌دهد تا داده‌های متنی را در جدول‌ها و ستون‌های مختلف جستجو کنید و نتایج مرتبط را به سرعت بازیابی کنید. این ویژگی به ویژه در محیط‌هایی که نیاز به جستجوی سریع و دقیق در داده‌های حجیم وجود دارد، بسیار مفید است.
مثال کاربردی: جستجوی محصولات در یک فروشگاه آنلاین
فرض کنید می‌خواهیم یک سیستم جستجو برای یک فروشگاه آنلاین ایجاد کنیم که به کاربران اجازه می‌دهد محصولات مورد نظر خود را بر اساس نام، توضیحات و ویژگی‌های دیگر جستجو کنند. با استفاده از DBMS_SEARCH، می‌توانیم این سیستم را به راحتی پیاده‌سازی کنیم.
مرحله ۱: ایجاد جدول محصولات
ابتدا یک جدول با نام products ایجاد می‌کنیم که شامل اطلاعات محصولات است:
CREATE TABLE products (
product_id NUMBER PRIMARY KEY,
product_name VARCHAR2(100),
category VARCHAR2(50),
price NUMBER,
description CLOB
);
مرحله ۲: درج داده‌ها
حالا داده‌های مربوط به محصولات را در جدول درج می‌کنیم:
INSERT INTO products (product_id, product_name, category, price, description)
VALUES (1, ‘Laptop’, ‘Electronics’, 1200, ‘A high-performance laptop with 16GB RAM and 512GB SSD.’);
INSERT INTO products (product_id, product_name, category, price, description)
VALUES (2, ‘Smartphone’, ‘Electronics’, 800, ‘A latest model smartphone with 128GB storage and 5G support.’);
INSERT INTO products (product_id, product_name, category, price, description)
VALUES (3, ‘Tablet’, ‘Electronics’, 600, ‘A lightweight tablet with 10-inch display and 64GB storage.’);
مرحله ۳: ایجاد ایندکس جستجو
برای استفاده از DBMS_SEARCH، ابتدا باید یک ایندکس جستجو ایجاد کنیم. این ایندکس به ما اجازه می‌دهد تا داده‌های متنی را به سرعت جستجو کنیم:
BEGIN
DBMS_SEARCH.CREATE_INDEX(‘products_index’);
DBMS_SEARCH.ADD_SOURCE(‘products_index’, ‘products’, ‘product_id’, ‘product_name, description’);
END;
/

/

ارتباط با ما

جهت دریافت خدمات مشاوره، آموزش و نگهداری پایگاه داده اوراکل با ما در ارتباط باشد


مرحله ۴: جستجوی داده‌ها
حالا می‌توانیم از DBMS_SEARCH برای جستجوی محصولات استفاده کنیم. به عنوان مثال، می‌خواهیم تمام محصولاتی را که شامل کلمه “laptop” هستند، پیدا کنیم:
DECLARE
v_results DBMS_SEARCH.TEXT_RESULT_TABLE;
BEGIN
DBMS_SEARCH.SEARCH(‘products_index’, ‘laptop’, v_results);
FOR i IN 1..v_results.COUNT LOOP
DBMS_OUTPUT.PUT_LINE(‘Product ID: ‘ || v_results(i).key || ‘, Score: ‘ || v_results(i).score);
END LOOP;
END;
/
مرحله ۵: مشاهده نتیجه
با اجرای کد بالا، خروجی زیر را مشاهده خواهید کرد:
Product ID: 1, Score: 1
این نتیجه نشان می‌دهد که محصول با product_id برابر با ۱ (که یک لپ‌تاپ است) با امتیاز ۱ پیدا شده است.
مزایای استفاده از DBMS_SEARCH
سرعت بالا: DBMS_SEARCH به شما اجازه می‌دهد تا داده‌های متنی را به سرعت جستجو کنید.
یکپارچه‌سازی آسان: این قابلیت به راحتی با PL/SQL و سایر ابزارهای اوراکل یکپارچه می‌شود.
قدرت و انعطاف‌پذیری: با استفاده از DBMS_SEARCH، می‌توانید جستجوهای پیچیده و پیشرفته‌ای را انجام دهید.
نتیجه‌گیری
قابلیت DBMS_SEARCH در Oracle Database 23ai، ابزار قدرتمندی برای جستجوی متن کامل در داده‌های ذخیره‌شده در پایگاه داده فراهم می‌کند. این قابلیت به شما اجازه می‌دهد تا داده‌های مورد نظر خود را به سرعت و با دقت بالا پیدا کنید. با استفاده از مثال ساده‌ای که در این مقاله ارائه شد، می‌توانید به راحتی این قابلیت را در پروژه‌های خود به کار بگیرید.


oracledatabase
۰
۰
مسعود سلطانی راد
مسعود سلطانی راد
چند سالی هست در حوزه داده ها ( نگهداری و تحلیل آنها) فعالیت دارم و همیشه سعی کردم آموخته هایم رو به اشتراک بگذارم soltanirad@artarad.ir www.artarad.ir
شاید از این پست‌ها خوشتان بیاید