ویژگی تفسیر پرس و جو در Cloud Search به طور خودکار عملگرها و فیلترها را در پرس و جوی کاربر تفسیر می کند و آن عناصر را به یک پرس و جوی ساختاریافته و مبتنی بر اپراتور تبدیل می کند. تفسیر پرس و جو از عملگرهای تعریف شده در طرح، همراه با اسناد نمایه شده استفاده می کند تا معنای پرس و جو کاربر را استنباط کند. این ویژگی به کاربر اجازه می دهد تا با حداقل کلمات کلیدی جستجو کند، اما همچنان نتایج دقیقی را به دست آورد.
نتایج واقعی ارائه شده به کاربر به اطمینان از تفسیر پرس و جو بستگی دارد. اطمینان بر اساس عوامل متعددی است، از جمله جایی که رشته های پرس و جو در اسناد نمایه شده ظاهر می شوند. رشته ای مانند نام بازیگر «تام هنکس» که به طور مداوم در یک زمینه طرحواره به نام actors
ظاهر می شود، اعتماد به نفس بالاتری را به همراه دارد. همان رشته ("تام هنکس") که در یک پاراگراف ظاهر می شود، به جای فیلد طرحواره، می تواند باعث اطمینان کمتر شود. در صورت اطمینان قوی، تنها نتایج حاصل از تفسیر پرس و جو به کاربر نمایش داده می شود. در مورد اطمینان ضعیف تر، نتایج حاصل از تفسیر پرس و جو با نتایج جستجوی کلمه کلیدی معمولی ترکیب می شود.
تفسیر پرس و جو مثال
فرض کنید یک منبع داده، مانند پایگاه داده، حاوی اطلاعاتی درباره فیلم ها دارید. شکل 1 نمونه پرس و جو جستجو و تفسیر حاصل را نشان می دهد.
با توجه به این پرس و جوی مثال، تفسیر پرس و جو موارد زیر را انجام می دهد:
طرحواره را تجزیه می کند و تعیین می کند که اشیاء سطح بالای منبع داده به عنوان
objecttype:movies
طبقه بندی می شوند. تفسیر پرس و جو اکنون می داند که "فیلم ها" در پرس و جو یک نوع شی است.اسناد موجود در منبع داده را در ارتباط با طرحواره اسکن می کند تا تعیین کند رشته "عمل" در کجا رخ می دهد. اگر رشته عمدتاً در یک فیلد منبع داده «ژانر» خاص رخ دهد، تفسیر پرس و جو این اطمینان را دارد که «عمل» یک مقدار ویژگی برای ویژگی «ژانر» است که در طرحواره تعریف شده است. اگر رشته عمدتاً در زمینه پاراگراف های محتوا رخ دهد، سطح اطمینان تفسیر پرس و جو کاهش می یابد.
تفسیر پرس و جو حاصل این است:
actor:“tom hanks” genre:action objecttype:movies
تفسیر پرس و جو به طور خودکار برای همه مشتریان جستجوی ابری بدون کار اضافی فعال می شود. با این حال، برای تفسیر بهینه پرس و جو، باید طرح واره خود را طبق دستورالعمل های این سند ساختار دهید.
طرحواره خود را طوری ساختار دهید که از تفسیر پرس و جو پشتیبانی کند
شما باید طرحواره خود را طوری ساختار دهید که اطمینان حاصل کنید که می توانید از تفسیر پرس و جو بهره مند شوید.
تفسیر نام نمایشی را فعال کنید
تفسیر پرس و جو Cloud Search از objectDefinitions
و propertyDefinitions
در یک طرحواره برای تفسیر درخواست کاربر و تنظیم نتایج استفاده می کند. برای به حداکثر رساندن مزایای این عناصر طرحواره، باید نامهای نمایشی بصری را با استفاده از displayLabel
برای نام ویژگیها، objectDisplayLabel
برای نام اشیا و operatorName
برای عملگرها ایجاد کنید.
طرح زیر نام های نمایشی بصری را برای یک شی فیلم نشان می دهد:
{
"objectDefinitions": [
{
"name": "movie",
"options": {
"displayOptions": {
"objectDisplayLabel": "Films"
}
...
},
"propertyDefinitions": [
{
"name": "genre",
"isReturnable": true,
"isRepeatable": true,
"isFacetable": true,
"textPropertyOptions": {
"retrievalImportance": { "importance": "HIGHEST" },
"operatorOptions": {
"operatorName": "genre"
}
},
"displayOptions": {
"displayLabel": "Category"
}
},
...
]
}
]
}
در مثال قبلی:
تعریف شی فیلم دارای یک
objectDisplayLabel
"فیلم" است.ویژگی ژانر Definition یک
operatorName
«ژانر» و یک «مقوله»displayLabel
دارد.
این نامهای نمایشی Cloud Search را قادر میسازد تا تفسیرهای پرس و جوی زیر را انجام دهد:
- «فیلمهای اکشن»، «فیلمهای ژانر اکشن» یا «ژانر اکشن فیلمها» بهعنوان
genre:action object:movies
تفسیر میشوند. - "فیلم هایی با ژانر اکشن یا هیجان انگیز" به عنوان
objecttype:movies genre:(action OR thriller)
تفسیر می شود. - "فیلم اکشن" یا "فیلم اکشن" به عنوان
genre:action objecttype:movies
تفسیر می شود. - «فیلمهای دستهبندی کمدی» به عنوان
genre:comedy objecttype:movies
تفسیر میشود.
تفسیرهای تاریخ، عددی و مرتب سازی را فعال کنید
شما باید lessThanOperatorName
و greaterThanOperatorName
که در IntegerOperatorOptions
مشخص شدهاند، برای تمام ویژگیهای تاریخ و عددی تعریف کنید. این تنظیمات تفسیرهای عددی و تاریخ خودکار را فعال می کنند. علاوه بر این، برای فعال کردن تفسیرهای مرتب سازی، گزینه isSortable
را برای تاریخ و ویژگی های عددی تنظیم کنید. طرح زیر نحوه فعال کردن این گزینه ها را نشان می دهد.
{
"objectDefinitions": [
{
"options": {
"displayOptions": {
"objectDisplayLabel": "Films"
}
},
"propertyDefinitions": [
{
"name": "runtime",
"isReturnable": true,
"isSortable": true,
"integerPropertyOptions": {
"orderedRanking": "DESCENDING",
"minimumValue": {
"value": 10
},
"maximumValue": {
"value": 500
},
"operatorOptions": {
"operatorName": "runtime",
"lessThanOperatorName": "runtimelessthan",
"greaterThanOperatorName": "runtimegreaterthan"
}
},
"displayOptions": {
"displayLabel": "Length"
}
},
{
"name": "releasedate",
"isReturnable": true,
"isSortable": true,
"datePropertyOptions": {
"operatorOptions": {
"operatorName": "releasedate",
"lessThanOperatorName": "releasedbefore",
"greaterThanOperatorName": "releasedafter"
}
}
}
]
}
]
}
در مثال قبلی:
- ویژگی عددی
runtime
به طول یک فیلم اشاره دارد.runtimelessthan
وruntimegreaterthan
برای این ویژگی تنظیم شده است. - تاریخ
releaseDate
تاریخ به زمانی اشاره دارد که یک فیلم در سینماها اکران می شود.releasedbefore
وreleasedafter
برای این ویژگی تنظیم شده است.
این تنظیمات Cloud Search را قادر میسازد تا تفسیرهای پرس و جوی زیر را انجام دهد:
- با فرض اینکه سال 2019 باشد، «فیلمهای منتشر شده در این سال» به عنوان
objecttype: movies releasedafter:2019-1-1 releasedbefore:2019-12-31
. - با فرض اینکه هفته سومین هفته مارس است، «فیلمهایی که هفته گذشته منتشر شدند» بهعنوان
objecttype: movies releasedafter:2019-3-10 releasedbefore:2019-3-16
- "فیلم هایی با زمان اجرا کمتر از 90" به عنوان
objjecttype: movies runtimelessthan:90
. - با فرض اینکه سال 2019 باشد، «فیلمهای منتشر شده در این سال و طول بیش از 120» بهعنوان
releasedafter:2019-1-1 releasedbefore:2019-12-31 objecttype:movies runtimegreaterthan:120
تفسیر میشود. - "مرتب سازی فیلم ها بر اساس تاریخ انتشار" بر روی "objecttype: movies" فیلتر می شود و نتایج ارائه شده در تاریخ انتشار با ترتیب مرتب سازی پیش فرض صعودی مرتب می شوند.
تفسیر اپراتور رزرو شده را فعال کنید
همچنین میتوانید از عملگرهای objecttype
رزرو شده از type
، before
، after
، برای بهبود تفسیر پرس و جو استفاده کنید. هنگام نمایه سازی یک سند، موارد زیر را انجام دهید:
فیلد
updateTime
را درItemMetadata
پر کنید تا از عملگرهایbefore
وafter
استفاده کنید. این تنظیمات Cloud Search را قادر میسازد تا تفسیرهای پرس و جوی زیر را انجام دهد:- «فیلمهای هفته گذشته» همه فیلمهایی را که هفته قبل در فهرست بهروزرسانی شدهاند فهرست میکند.
- «فیلمهای قبل از ژانویه 2019» همه فیلمهایی را که قبل از ژانویه 2019 ایندکس شدهاند فهرست میکند.
برای استفاده از تشخیص خودکار نوع، فیلد
mimeType
را درItemMetadata
پر کنید. درخواست «ویدیوهای اکشن» همه اسناد فیلم اکشن را با نوع mimeapplication/mp4
,application/mpeg4
,application/x-shockwave-flash
,video/
وapplication/vnd.google-apps.video
فهرست می کند.
محدودیت های تفسیر پرس و جو
ویژگی تفسیر پرس و جو دارای محدودیت های زیر است.
- تفسیر پرس و جو فقط برای این ACL های منبع داده کار می کند:
- همه اسناد دامنه عمومی هستند (همه در دامنه می توانند به آن دسترسی داشته باشند).
- همه اسناد منبع داده عمومی هستند (هرکسی که به منبع داده ACL دسترسی دارد).
- اکثر اسناد موجود در منبع داده دارای ACL یکسان هستند (همه اسناد ACL را از یک مورد کانتینری به ارث می برند) بدون خواننده اضافی تعریف شده است.
- اگر چندین عملگر طرحواره مقدار یکسانی داشته باشند، تفسیر آن مقدار به قصد اپراتور برای یک پرس و جو به ضریب اطمینان کلی بازگردانده شده توسط سیستم تفسیر پرس و جو بستگی دارد. به عنوان مثال، فرض کنید
priority
وseverity
خواص را با همان نام عملگر که در طرحواره تعریف شده است دارید. فرض کنید هر دو عملگر می توانند مقادیر 0، 1، 2 یا 3 را داشته باشند. در این مثال، "0" در یک پرس و جو می تواند به مقدار عملگر برایpriority
یاseverity
اشاره کند. این مقادیر مبهم هستند و سطح اطمینان کمتر است. - بهطور پیشفرض، تفسیر پرس و جوی Cloud Search، مقادیر فیلد را هنگام تفسیر پرس و جو، به جز آن دسته از عملگرهای متنی که با گزینههای
exactMatchWithOperator
تعریف شدهاند، کاهش میدهد. - اپراتور
source
در پرس و جوها پشتیبانی نمی شود. - جستارهایی که اصطلاحات مبتنی بر اپراتور و اصطلاحات متن آزاد را ترکیب می کنند، تفسیر نمی شوند. به عنوان مثال، پرس و جو "p0 priority case severity:s0" پشتیبانی نمی شود زیرا "p0 priority case" یک عبارت متنی آزاد است در حالی که "severity:s0" یک عبارت مبتنی بر عملگر است.
- استراتژی تفسیر پرس و جو همیشه نتایج تفسیر شده را با نتایج معمولی (تفسیر نشده، رتبه بندی شده) ترکیب می کند. این جایگزینی کامل صفحه نتایج را انجام نمی دهد.