یک رابط CSV راه اندازی کنید

این راهنما برای مدیران رابط CSV (مقادیر جدا شده با کاما) جستجوی ابری گوگل در نظر گرفته شده است، یعنی هر کسی که مسئول دانلود، پیکربندی، اجرا و نظارت بر رابط است.

این راهنما شامل دستورالعمل‌هایی برای انجام وظایف کلیدی مربوط به استقرار کانکتور CSV است:

  • نرم‌افزار رابط CSV جستجوی ابری گوگل را دانلود کنید
  • پیکربندی کانکتور برای استفاده با یک منبع داده CSV خاص
  • کانکتور را مستقر و اجرا کنید

برای درک مفاهیم این سند، باید با اصول اولیه Google Workspace، فایل‌های CSV و فهرست‌های کنترل دسترسی (ACL) آشنا باشید.

مروری بر رابط CSV جستجوی ابری گوگل

رابط CSV جستجوی ابری با هر فایل متنی مقادیر جدا شده با کاما (CSV) کار می‌کند. یک فایل CSV داده‌های جدولی را ذخیره می‌کند و هر خط از فایل یک رکورد داده است.

رابط CSV گوگل کلود سرچ، سطرهای مجزا را از یک فایل CSV استخراج کرده و آنها را از طریق API نمایه‌سازی کلود سرچ در کلود سرچ نمایه‌گذاری می‌کند. پس از نمایه‌سازی موفقیت‌آمیز، سطرهای مجزا از فایل‌های CSV از طریق کلاینت‌های کلود سرچ یا API کوئری کلود سرچ قابل جستجو هستند. رابط CSV همچنین با استفاده از ACLها از کنترل دسترسی کاربران به محتوا در نتایج جستجو پشتیبانی می‌کند.

رابط CSV جستجوی ابری گوگل (Google Cloud Search CSV connector) را می‌توان روی لینوکس یا ویندوز نصب کرد. قبل از نصب رابط CSV جستجوی ابری گوگل، مطمئن شوید که اجزای مورد نیاز زیر را دارید:

  • جاوا JRE 1.8 نصب شده روی رایانه‌ای که رابط CSV جستجوی ابری گوگل را اجرا می‌کند
  • اطلاعات Google Workspace مورد نیاز برای ایجاد ارتباط بین جستجوی ابری گوگل و منبع داده:

    معمولاً، مدیر Google Workspace دامنه می‌تواند این اطلاعات را برای شما فراهم کند.

مراحل استقرار

برای استقرار رابط CSV جستجوی ابری گوگل، این مراحل را دنبال کنید:

  1. نرم‌افزار رابط CSV جستجوی ابری گوگل را نصب کنید
  2. پیکربندی کانکتور CSV را مشخص کنید
  3. پیکربندی دسترسی به منبع داده جستجوی ابری گوگل
  4. پیکربندی دسترسی به فایل CSV
  5. نام ستون‌ها را برای اندیس‌گذاری، ستون‌های کلید منحصر به فرد و ستون‌های تاریخ-زمان مشخص کنید
  6. ستون‌هایی را برای استفاده در URLهای نتایج جستجوی قابل کلیک مشخص کنید
  7. اطلاعات فراداده و قالب ستون‌ها را مشخص کنید
  8. زمانبندی پیمایش داده‌ها
  9. گزینه‌های لیست کنترل دسترسی (ACL) را مشخص کنید

۱. SDK را نصب کنید

SDK را در مخزن محلی Maven خود نصب کنید.

  1. مخزن SDK را از GitHub کپی کنید.

    $ git clone https://github.com/google-cloudsearch/connector-sdk.git
    $ cd connector-sdk/csv
  2. نسخه مورد نظر SDK را بررسی کنید:

    $ git checkout tags/v1-0.0.3
  3. کانکتور را بسازید:

    $ mvn package
  4. فایل زیپ کانکتور را در دایرکتوری نصب محلی خود کپی کنید:

    $ cp target/google-cloudsearch-csv-connector-v1-0.0.3.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-csv-connector-v1-0.0.3.zip
    $ cd google-cloudsearch-csv-connector-v1-0.0.3

۲. پیکربندی کانکتور CSV را مشخص کنید

به عنوان مدیر کانکتور، شما رفتار کانکتور CSV و ویژگی‌های آن را کنترل می‌کنید و پارامترهایی را در فایل پیکربندی کانکتور تعریف می‌کنید. پارامترهای قابل تنظیم عبارتند از:

  • دسترسی به یک منبع داده
  • محل فایل CSV
  • تعاریف ستون CSV
  • ستون(هایی) که یک شناسه منحصر به فرد را تعریف می‌کنند
  • گزینه‌های پیمایش
  • گزینه‌های ACL برای محدود کردن دسترسی به داده‌ها

برای اینکه رابط به درستی به یک فایل CSV دسترسی پیدا کند و محتوای مربوطه را فهرست‌بندی کند، ابتدا باید فایل پیکربندی آن را ایجاد کنید.

برای ایجاد یک فایل پیکربندی:

  1. یک ویرایشگر متن دلخواه باز کنید و نام فایل پیکربندی را تغییر دهید.
    همانطور که در بخش‌های بعدی توضیح داده شده است، جفت‌های کلید =مقدار را به محتوای فایل اضافه کنید.
  2. فایل پیکربندی را ذخیره و نامگذاری کنید.
    گوگل توصیه می‌کند که نام فایل پیکربندی را connector-config.properties بگذارید تا برای اجرای کانکتور به پارامترهای خط فرمان اضافی نیاز نباشد.

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

برای اطمینان از اینکه کانکتور، فایل پیکربندی شما را شناسایی می‌کند، مسیر آن را در خط فرمان مشخص کنید. در غیر این صورت، کانکتور از connector-config.properties در دایرکتوری محلی شما به عنوان نام فایل پیش‌فرض استفاده می‌کند. برای اطلاعات بیشتر در مورد مشخص کردن مسیر پیکربندی در خط فرمان، به Run the Cloud Search CSV connector مراجعه کنید.

۳. دسترسی به منبع داده جستجوی ابری گوگل را پیکربندی کنید

اولین پارامترهایی که هر فایل پیکربندی باید مشخص کند، پارامترهایی هستند که برای دسترسی به منبع داده Cloud Search ضروری هستند، همانطور که در جدول زیر نشان داده شده است. معمولاً برای پیکربندی دسترسی رابط به Cloud Search به شناسه منبع داده، شناسه حساب سرویس و مسیر فایل کلید خصوصی حساب سرویس نیاز دارید. مراحل مورد نیاز برای تنظیم یک منبع داده در بخش مدیریت منابع داده شخص ثالث شرح داده شده است.

تنظیم پارامتر
شناسه منبع داده api.sourceId= 1234567890abcdef

الزامی. شناسه منبع جستجوی ابری گوگل که توسط مدیر Google Workspace تنظیم شده است، همانطور که در مدیریت منابع داده شخص ثالث توضیح داده شده است.

مسیر فایل کلید خصوصی حساب کاربری سرویس api.serviceAccountPrivateKeyFile= ./PrivateKey.json

الزامی. فایل کلید حساب سرویس جستجوی ابری گوگل برای دسترسی به رابط CSV جستجوی ابری گوگل.

شناسه منبع هویت api.identitySourceId= x0987654321

در صورت استفاده از کاربران و گروه‌های خارجی، الزامی است. شناسه منبع هویت جستجوی ابری گوگل که توسط مدیر Google Workspace تنظیم شده است.

۴. پیکربندی پارامترهای فایل CSV

قبل از اینکه رابط بتواند یک فایل CSV را پیمایش کند و داده‌ها را برای فهرست‌بندی از آن استخراج کند، باید مسیر فایل را مشخص کنید. همچنین می‌توانید قالب فایل و نوع کدگذاری فایل را مشخص کنید. پارامترهای زیر را برای مشخص کردن ویژگی‌های فایل CSV در فایل پیکربندی اضافه کنید.

تنظیم پارامتر
مسیر فایل CSV csv.filePath= ./movie_content.csv

الزامی. مسیر فایل CSV که قرار است به آن دسترسی پیدا کنید و محتوا را برای فهرست‌بندی استخراج کنید.

فرمت فایل csv.format= DEFAULT

قالب فایل. مقادیر ممکن از کلاس CSV CSVFormat در Apache Commons هستند.

مقادیر قالب شامل موارد زیر است: DEFAULT ، EXCEL ، INFORMIX_UNLOAD ، INFORMIX_UNLOAD_CSV ، MYSQL ، RFC4180 ، ORACLE ، POSTGRESQL_CSV ، POSTGRESQL_TEXT و TDF . در صورت عدم تعیین، Cloud Search از DEFAULT استفاده می‌کند.

اصلاح کننده فرمت فایل csv.format. withMethod = value

اصلاحیه‌ای در نحوه‌ی مدیریت فایل توسط Cloud Search. متدهای ممکن از کلاس CSV CSVFormat در Apache Commons هستند و شامل متدهایی می‌شوند که یک کاراکتر، رشته یا مقدار بولی را می‌پذیرند.

برای مثال، برای مشخص کردن یک نقطه‌ویرگول به عنوان جداکننده، csv.format.withDelimiter=; استفاده کنید. برای نادیده گرفتن خطوط خالی، csv.format.withIgnoreEmptyLines=true استفاده کنید.

نوع کدگذاری فایل csv.fileEncoding= UTF-8

مجموعه کاراکترهای جاوا که هنگام خواندن فایل توسط Cloud Search استفاده می‌شود. اگر مشخص نشود، Cloud Search از مجموعه کاراکترهای پیش‌فرض پلتفرم استفاده می‌کند.

۵. نام ستون‌ها را برای اندیس‌گذاری و ستون‌های کلید منحصر به فرد مشخص کنید

برای اینکه کانکتور بتواند به فایل‌های CSV دسترسی پیدا کند و آنها را ایندکس کند، باید اطلاعاتی در مورد تعاریف ستون‌ها در فایل پیکربندی ارائه دهید. اگر فایل پیکربندی حاوی پارامترهایی نباشد که نام ستون‌ها را برای ایندکس کردن و ستون‌های کلید منحصر به فرد مشخص کنند، از مقادیر پیش‌فرض استفاده می‌شود.

تنظیم پارامتر
ستون‌ها برای فهرست‌بندی csv.csvColumns= movieId,movieTitle,description,actors,releaseDate,year,userratings...

نام ستون‌هایی که قرار است از فایل CSV ایندکس شوند. اگر csv.csvColumns تنظیم نشده باشد، اولین ردیف فایل CSV به عنوان سربرگ استفاده می‌شود. اگر csv.csvColumns تنظیم شده باشد، بر اولین ردیف CSV اولویت دارد. اگر csv.csvColumns تنظیم کرده‌اید و اولین ردیف فایل CSV لیستی از نام ستون‌ها است، باید csv.skipHeaderRecord=true را تنظیم کنید تا از ایندکس شدن ردیف اول به عنوان داده جلوگیری شود. مقادیر پیش‌فرض، ستون‌های ردیف سربرگ در فایل هستند.

ستون‌های کلید منحصر به فرد csv.uniqueKeyColumns= movieId

ستون(های) CSV که مقادیر آنها برای تولید شناسه منحصر به فرد هر رکورد استفاده خواهد شد. در صورت عدم تعیین، هش رکورد CSV باید به عنوان کلید منحصر به فرد آن استفاده شود. مقدار پیش‌فرض، کد هش رکورد است.

۶. ستون‌هایی را برای استفاده در URLهای نتایج جستجوی قابل کلیک مشخص کنید

وقتی کاربری با استفاده از جستجوی ابری گوگل جستجو می‌کند، با نمایش صفحه‌ای از نتایج که شامل URLهای قابل کلیک برای هر نتیجه است، پاسخ می‌دهد. برای فعال کردن این ویژگی، باید پارامتر نشان داده شده در جدول زیر را به فایل پیکربندی اضافه کنید.

تنظیم پارامتر
قالب URL نتایج جستجو url.format= https://mymoviesite.com/movies/{0}

الزامی. قالبی برای ساخت URL نمایش برای محتوای CSV.

پارامترهای URL نتایج جستجو. url.columns= movieId

الزامی. نام ستون‌های CSV که مقادیر آنها برای تولید آدرس اینترنتی نمای رکورد استفاده خواهد شد.

پارامترهای URL نتایج جستجو برای escape کردن url.columnsToEscape= movieId

اختیاری. نام ستون‌های CSV که مقادیر آنها برای تولید آدرس اینترنتی معتبر view، از URL escape شده استفاده خواهد شد.

۷. اطلاعات فراداده، قالب ستون‌ها و کیفیت جستجو را مشخص کنید

می‌توانید پارامترهایی را به فایل پیکربندی اضافه کنید که موارد زیر را مشخص می‌کنند:

پارامترهای پیکربندی فراداده

پارامترهای پیکربندی فراداده، ستون‌های CSV مورد استفاده برای پر کردن فراداده‌های آیتم را توصیف می‌کند. اگر فایل پیکربندی شامل این پارامترها نباشد، از مقادیر پیش‌فرض استفاده می‌شود. جدول زیر این پارامترها را نشان می‌دهد.

تنظیم پارامتر
عنوان itemMetadata.title.field= movieTitle
itemMetadata.title.defaultValue= Gone with the Wind

ویژگی فراداده‌ای که حاوی مقداری متناظر با عنوان سند است. مقدار پیش‌فرض یک رشته خالی است.

آدرس اینترنتی itemMetadata.sourceRepositoryUrl.field= url
itemMetadata.sourceRepositoryUrl.defaultValue= https://www.imdb.com/title/tt0031381/
ویژگی فراداده‌ای که حاوی مقدار URL سند برای نتایج جستجو است.
مهر زمانی ایجاد شده itemMetadata.createTime.field= releaseDate
itemMetadata.createTime.defaultValue= 1940-01-17

ویژگی فراداده‌ای که حاوی مقدار مربوط به مهر زمانی ایجاد سند است.

آخرین زمان اصلاح itemMetadata.updateTime.field= releaseDate
itemMetadata.updateTime.defaultValue= 1940-01-17

ویژگی فراداده‌ای که حاوی مقدار آخرین مهر زمانی اصلاح سند است.

زبان سند itemMetadata.contentLanguage.field= languageCode
itemMetadata.contentLanguage.defaultValue= en-US

زبان محتوای اسنادی که نمایه‌سازی می‌شوند.

نوع شیء طرحواره itemMetadata.objectType.field= type
itemMetadata.objectType.defaultValue= movie

نوع شیء مورد استفاده توسط رابط، همانطور که در طرحواره تعریف شده است. اگر این ویژگی مشخص نشده باشد، رابط هیچ داده ساختاریافته‌ای را فهرست‌بندی نمی‌کند.

قالب‌های تاریخ و زمان

قالب‌های تاریخ و زمان، قالب‌های مورد انتظار در ویژگی‌های فراداده را مشخص می‌کنند. اگر فایل پیکربندی حاوی این پارامتر نباشد، از مقادیر پیش‌فرض استفاده می‌شود. جدول زیر این پارامتر را نشان می‌دهد.

تنظیم پارامتر
قالب‌های تاریخ و زمان اضافی structuredData.dateTimePatterns= MM/dd/uuuu HH:mm:ssXXX
فهرستی از الگوهای اضافی java.time.format.DateTimeFormatter که با نقطه ویرگول از هم جدا شده‌اند. این الگوها هنگام تجزیه مقادیر رشته‌ای برای هر فیلد تاریخ یا تاریخ-زمان در فراداده یا طرحواره استفاده می‌شوند. مقدار پیش‌فرض یک لیست خالی است، اما قالب‌های RFC 3339 و RFC 1123 همیشه پشتیبانی می‌شوند.

قالب‌های ستون

قالب‌های ستون، اطلاعاتی در مورد ستون(ها)یی که باید بخشی از محتوای قابل جستجو باشند را مشخص می‌کنند. اگر فایل پیکربندی حاوی این پارامترها نباشد، از مقادیر پیش‌فرض استفاده می‌شود. جدول زیر این پارامترها را نشان می‌دهد.

تنظیم پارامتر
رد کردن هدر csv.skipHeaderRecord=true

بولی. رکورد سرآیند (خط اول) در فایل CSV را نادیده بگیرید. اگر csv.csvColumns تنظیم کرده‌اید و فایل CSV دارای یک ردیف سرآیند است، باید skipHeaderRecord=true تنظیم کنید. این کار از اندیس‌گذاری اولین ردیف در فایل به عنوان داده جلوگیری می‌کند. اگر فایل CSV ردیف سرآیند ندارد، skipHeaderRecord=false را تنظیم کنید. مقدار پیش‌فرض false است.

ستون‌های چند مقداری csv.multiValueColumns= genre,actors

نام ستون‌ها در فایل CSV که چندین مقدار دارند. مقدار پیش‌فرض یک رشته خالی است.

جداکننده برای ستون‌های چند مقداری csv.multiValue.genre= ;

جداکننده برای ستون‌های چند مقداری. جداکننده پیش‌فرض کاما است.

کیفیت جستجو

رابط CSV جستجوی ابری امکان قالب‌بندی خودکار HTML برای فیلدهای داده را فراهم می‌کند. رابط شما فیلدهای داده را در ابتدای اجرای رابط تعریف می‌کند و سپس از یک الگوی محتوا برای قالب‌بندی هر رکورد داده قبل از آپلود آن در جستجوی ابری استفاده می‌کند.

الگوی محتوا، اهمیت هر مقدار فیلد را برای جستجو تعریف می‌کند. فیلد عنوان الزامی است و به عنوان بالاترین اولویت تعریف می‌شود. می‌توانید سطوح اهمیت کیفیت جستجو را برای سایر فیلدهای محتوا تعیین کنید: بالا، متوسط ​​یا پایین. هر فیلد محتوایی که در یک دسته خاص تعریف نشده باشد، به طور پیش‌فرض اولویت پایین دارد. جدول زیر این پارامترها را نشان می‌دهد.

تنظیم پارامتر
عنوان محتوا contentTemplate.csv.title = movieTitle

عنوان محتوا، باکیفیت‌ترین فیلد جستجو است.

کیفیت جستجوی بالا برای فیلدهای محتوا contentTemplate.csv.quality.high = actors

فیلدهای محتوا با کیفیت جستجوی بالا مقداردهی می‌شوند. پیش‌فرض یک رشته خالی است.

کیفیت پایین جستجو برای فیلدهای محتوا contentTemplate.csv.quality.low = genre

به فیلدهای محتوا مقدار کیفیت جستجوی پایین داده می‌شود. مقدار پیش‌فرض یک رشته خالی است.

کیفیت جستجوی متوسط ​​برای فیلدهای محتوا contentTemplate.csv.quality.medium = description

فیلدهای محتوا با کیفیت جستجوی متوسط. مقدار پیش‌فرض یک رشته خالی است.

فیلدهای محتوای نامشخص contentTemplate.csv.unmappedColumnsMode = IGNORE

نحوه مدیریت فیلدهای محتوای نامشخص توسط رابط. مقادیر معتبر عبارتند از:

  • ضمیمه — فیلدهای محتوای نامشخص را به قالب اضافه می‌کند
  • نادیده گرفتن — فیلدهای محتوای نامشخص را نادیده می‌گیرد

    مقدار پیش‌فرض، APPEND است.

۸. زمان‌بندی پیمایش داده‌ها

پیمایش (traversal) فرآیندی است که رابط برای کشف محتوا از منبع داده، در این مورد، یک فایل CSV، انجام می‌دهد. همزمان با اجرای رابط CSV، ردیف‌های یک فایل CSV را پیمایش می‌کند و هر ردیف را از طریق API نمایه‌سازی (Indexing API) در Cloud Search فهرست‌بندی می‌کند.

پیمایش کامل، تمام ستون‌های فایل را فهرست‌بندی می‌کند. پیمایش افزایشی فقط ستون‌هایی را فهرست‌بندی می‌کند که از پیمایش قبلی اضافه یا تغییر یافته‌اند. رابط CSV فقط پیمایش‌های کامل را انجام می‌دهد. پیمایش‌های افزایشی را انجام نمی‌دهد.

پارامترهای زمان‌بندی تعیین می‌کنند که کانکتور چند وقت یکبار بین پیمایش‌ها منتظر می‌ماند. اگر فایل پیکربندی حاوی پارامترهای زمان‌بندی نباشد، از مقادیر پیش‌فرض استفاده می‌شود. جدول زیر این پارامترها را نشان می‌دهد.

تنظیم پارامتر
پیمایش کامل پس از یک بازه تابع traversalIntervalSecs برابر با 7200 است.

رابط پس از یک بازه مشخص، یک پیمایش کامل انجام می‌دهد. فاصله بین پیمایش‌ها را بر حسب ثانیه مشخص کنید. مقدار پیش‌فرض ۸۶۴۰۰ (تعداد ثانیه‌ها در یک روز) است.

پیمایش کامل در هنگام راه‌اندازی کانکتور تابع schedule.performTraversalOnStart برابر با false است.

کانکتور به جای اینکه منتظر انقضای اولین بازه بماند، در هنگام راه‌اندازی کانکتور یک پیمایش کامل انجام می‌دهد. مقدار پیش‌فرض true است.

۹. گزینه‌های لیست کنترل دسترسی (ACL) را مشخص کنید

رابط CSV جستجوی گوگل کلود از طریق ACLها از مجوزها برای کنترل دسترسی به محتوای فایل CSV در نتایج جستجو پشتیبانی می‌کند. گزینه‌های ACL متعددی وجود دارد که به شما امکان می‌دهد از دسترسی کاربر به رکوردهای فهرست‌بندی شده محافظت کنید.

اگر مخزن شما اطلاعات ACL جداگانه‌ای مرتبط با هر سند دارد، تمام اطلاعات ACL را برای کنترل دسترسی به سند در Cloud Search آپلود کنید. اگر مخزن شما اطلاعات ACL جزئی یا بدون اطلاعات ACL ارائه می‌دهد، می‌توانید اطلاعات ACL پیش‌فرض را در پارامترهای زیر که SDK برای کانکتور فراهم می‌کند، ارائه دهید.

این کانکتور به ACL های پیش‌فرض فعال شده در فایل پیکربندی متکی است. برای فعال کردن ACL های پیش‌فرض، defaultAcl.mode را روی هر حالتی غیر از none تنظیم کنید و آن را با defaultAcl.* پیکربندی کنید.

تنظیم پارامتر
حالت ACL defaultAcl.mode =حالت جایگزین

الزامی. رابط CSV به قابلیت پیش‌فرض ACL متکی است. رابط فقط از حالت جایگزین پشتیبانی می‌کند.

نام ACL پیش‌فرض defaultAcl.name = VIRTUAL_CONTAINER_FOR_CONNECTOR_1

اختیاری. اجازه می‌دهد نام کانتینر مجازی مورد استفاده توسط کانکتور برای تنظیم ACL های پیش‌فرض نادیده گرفته شود. مقدار پیش‌فرض "DEFAULT_ACL_VIRTUAL_CONTAINER" است. اگر چندین کانکتور در یک منبع داده، محتوا را ایندکس می‌کنند، می‌توانید این مقدار را نادیده بگیرید.

ACL عمومی پیش‌فرض defaultAcl.public = true

ACL پیش‌فرض مورد استفاده برای کل مخزن، دسترسی به دامنه عمومی تنظیم شده است. مقدار پیش‌فرض false است.

خوانندگان گروه ACL مشترک defaultAcl.readers.groups = google: group1, group2
خوانندگان ACL رایج defaultAcl.readers.users = user1, user2, google: user3
خوانندگان گروهی که ACL مشترک آنها را رد کرد defaultAcl.denied.groups = group3
مشترک Acl خوانندگان را رد کرد defaultAcl.denied.users = user4, user5
دسترسی کامل به دامنه برای مشخص کردن اینکه هر رکورد ایندکس شده توسط هر کاربر در دامنه به صورت عمومی قابل دسترسی باشد، هر دو گزینه زیر را با مقادیر تنظیم کنید:
  • defaultAcl.mode =حالت جایگزین
  • defaultAcl.public =true
ACL تعریف شده مشترک برای مشخص کردن یک ACL برای هر رکورد از مخزن داده، تمام مقادیر پارامترهای زیر را تنظیم کنید:
  • defaultAcl.mode =حالت جایگزین
  • defaultAcl.public =false
  • defaultAcl.readers.groups = google: group1, group2
  • defaultAcl.readers.users = user1, user2, google: user3
  • defaultAcl.denied.groups = group3
  • defaultAcl.denied.users = user4, user5

    هر کاربر و گروه مشخص شده، یک کاربر/گروه تعریف شده توسط دامنه محلی فرض می‌شود، مگر اینکه با پیشوند " google: " (ثابت تحت‌اللفظی) همراه باشد.

    کاربر یا گروه پیش‌فرض یک رشته خالی است. گزینه‌های کاربر و گروه را فقط در صورتی ارائه دهید که defaultAcl.public روی false تنظیم شده باشد. برای لیست کردن چندین گروه و کاربر، از لیست جدا شده با کاما استفاده کنید.

    اگر defaultAcl.mode روی none تنظیم شده باشد، رکوردها بدون ACL های تعریف شده قابل جستجو نیستند.

تعریف طرحواره

جستجوی ابری امکان فهرست‌بندی و ارائه محتوای ساختاریافته و بدون ساختار را فراهم می‌کند. برای پشتیبانی از پرس‌وجوهای داده‌های ساختاریافته روی داده‌های خود، باید Schema را برای منبع داده خود تنظیم کنید .

پس از تعریف، رابط CSV می‌تواند برای ساخت درخواست‌های اندیس‌گذاری، به طرحواره تعریف‌شده ارجاع دهد. برای ارائه یک مثال روشن، یک فایل CSV حاوی اطلاعات مربوط به فیلم‌ها را در نظر بگیرید.

فرض کنید فایل CSV ورودی دارای محتوای زیر است.

  1. شناسه فیلم
  2. عنوان فیلم
  3. توضیحات
  4. سال
  5. تاریخ انتشار
  6. بازیگران (چندین مقدار که با کاما (,) از هم جدا شده‌اند)
  7. ژانر (مقادیر چندگانه)
  8. رتبه‌بندی‌ها

بر اساس ساختار داده‌های فوق، می‌توانید برای منبع داده‌ای که می‌خواهید داده‌ها را از فایل CSV در آن فهرست‌بندی کنید، طرحواره تعریف کنید.

{
  "objectDefinitions": [
    {
      "name": "movie",
      "propertyDefinitions": [
        {
          "name": "actors",
          "isReturnable": true,
          "isRepeatable": true,
          "isFacetable": true,
          "textPropertyOptions": {
            "operatorOptions": {
              "operatorName": "actor"
            }
          }
        },
        {
          "name": "releaseDate",
          "isReturnable": true,
          "isRepeatable": false,
          "isFacetable": false,
          "datePropertyOptions": {
            "operatorOptions": {
              "operatorName": "released",
              "lessThanOperatorName": "releasedbefore",
              "greaterThanOperatorName": "releasedafter"
            }
          }
        },
        {
          "name": "movieTitle",
          "isReturnable": true,
          "isRepeatable": false,
          "isFacetable": false,
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": "HIGHEST"
            },
            "operatorOptions": {
              "operatorName": "title"
            }
          }
        },
        {
          "name": "genre",
          "isReturnable": true,
          "isRepeatable": true,
          "isFacetable": true,
          "enumPropertyOptions": {
            "operatorOptions": {
              "operatorName": "genre"
            },
            "possibleValues": [
              {
                "stringValue": "Action"
              },
              {
                "stringValue": "Documentary"
              },
              {
                "stringValue": "Drama"
              },
              {
                "stringValue": "Crime"
              },
              {
                "stringValue": "Sci-fi"
              }
            ]
          }
        },
        {
          "name": "userRating",
          "isReturnable": true,
          "isRepeatable": false,
          "isFacetable": true,
          "integerPropertyOptions": {
            "orderedRanking": "ASCENDING",
            "maximumValue": "10",
            "operatorOptions": {
              "operatorName": "score",
              "lessThanOperatorName": "scorebelow",
              "greaterThanOperatorName": "scoreabove"
            }
          }
        }
      ]
    }
  ]
}

فایل پیکربندی نمونه

فایل پیکربندی نمونه زیر جفت‌های پارامتر key=value را نشان می‌دهد که رفتار یک کانکتور نمونه را تعریف می‌کنند.

# data source access
api.sourceId=1234567890abcd
api.serviceAccountPrivateKeyFile=./PrivateKey.json

# CSV data structure
csv.filePath=./movie_content.csv
csv.csvColumns=movieId,movieTitle,description,releaseYear,genre,actors,ratings,releaseDate
csv.skipHeaderRecord=true
url.format=https://mymoviesite.com/movies/{0}
url.columns=movieId
csv.datetimeFormat.releaseDate=yyyy-mm-dd
csv.multiValueColumns=genre,actors
csv.multiValue.genre=;
contentTemplate.csv.title=movieTitle

# metadata structured data and content
itemMetadata.title.field=movieTitle
itemMetadata.createTime.field=releaseDate
itemMetadata.contentLanguage.defaultValue=en-US
itemMetadata.objectType.defaultValue=movie
contentTemplate.csv.quality.medium=description
contentTemplate.csv.unmappedColumnsMode=IGNORE

#ACLs
defaultAcl.mode=fallback
defaultAcl.public=true

برای توضیحات دقیق هر پارامتر، به مرجع پارامترهای پیکربندی مراجعه کنید.

رابط CSV جستجوی ابری را اجرا کنید

برای اجرای رابط از طریق خط فرمان، دستور زیر را تایپ کنید:

$ java -jar google-cloudsearch-csv-connector-v1-0.0.3.jar -Dconfig=my.config

به طور پیش‌فرض، گزارش‌های اتصال در خروجی استاندارد موجود هستند. می‌توانید با مشخص کردن logging.properties گزارش‌ها را در فایل‌ها ثبت کنید.