SearchClient الفصل
عميل للتفاعل مع فهرس بحث Azure موجود.
- توريث
-
azure.search.documents._headers_mixin.HeadersMixinSearchClient
الدالمنشئ
SearchClient(endpoint: str, index_name: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)
المعلمات
- api_version
- str
إصدار Search API لاستخدامه للطلبات.
- audience
- str
تعيين الجمهور لاستخدامه للمصادقة مع Azure Active Directory (AAD). لا يتم اعتبار الجمهور عند استخدام مفتاح مشترك. إذا لم يتم توفير الجمهور، فسيتم افتراض جمهور السحابة العامة.
أمثلة
إنشاء SearchClient باستخدام مفتاح API.
from azure.core.credentials import AzureKeyCredential
from azure.search.documents import SearchClient
service_endpoint = os.environ["AZURE_SEARCH_SERVICE_ENDPOINT"]
index_name = os.environ["AZURE_SEARCH_INDEX_NAME"]
key = os.environ["AZURE_SEARCH_API_KEY"]
search_client = SearchClient(service_endpoint, index_name, AzureKeyCredential(key))
الأساليب
autocomplete |
احصل على نتائج الإكمال التلقائي للبحث من فهرس بحث Azure. المجموعة التي تشكل جزءا من تعريف الفهرس. :وضع الكلمة الأساسية: يحدد وضع الإكمال التلقائي. الإعداد الافتراضي هو "oneTerm". استخدم 'twoTerms' للحصول على القوباء المنطقية و'oneTermWithContext' لاستخدام السياق الحالي أثناء إنتاج المصطلحات المكتملة تلقائيا. تتضمن القيم المحتملة: "oneTerm" و"twoTerms" و"oneTermWithContext". |
close |
SearchClient أغلق جلسة العمل. |
delete_documents |
حذف المستندات من فهرس بحث Azure يؤدي الحذف إلى إزالة المستند المحدد من الفهرس. سيتم تجاهل أي حقل تحدده في عملية حذف، بخلاف حقل المفتاح. إذا كنت تريد إزالة حقل فردي من مستند، فاستخدم merge_documents بدلا من ذلك وقم بتعيين الحقل بشكل صريح إلى بلا. عمليات الحذف غير فعالة. أي، حتى إذا لم يكن مفتاح المستند موجودا في الفهرس، فإن محاولة عملية الحذف باستخدام هذا المفتاح ستؤدي إلى رمز حالة 200. |
get_document |
استرداد مستند من فهرس بحث Azure بواسطة مفتاحه. |
get_document_count |
إرجاع عدد المستندات في فهرس بحث Azure. |
index_documents |
حدد عمليات مستند لتنفيذها كدفعة. |
merge_documents |
دمج المستندات في المستندات الموجودة في فهرس بحث Azure. يحدِّث الدمج مستند موجود بالحقول المحددة. إذا لم يكن المستند موجودا، فسيفشل الدمج. سيحل أي حقل تحدده في الدمج محل الحقل الموجود في المستند. ينطبق هذا أيضا على مجموعات من الأنواع الأولية والمعقدة. |
merge_or_upload_documents |
دمج المستندات في المستندات الموجودة في فهرس بحث Azure، أو تحميلها إذا لم تكن موجودة بعد. يعمل هذا الإجراء مثل merge_documents إذا كان المستند الذي يحتوي على المفتاح المحدد موجودا بالفعل في الفهرس. إذا لم يكن المستند موجودا، فإنه يتصرف مثل upload_documents بمستند جديد. |
search |
ابحث في فهرس بحث Azure عن المستندات. |
suggest |
احصل على نتائج اقتراحات البحث من فهرس بحث Azure. حرف، ولا يزيد عن 100 حرف. suggester_name :p aram str: مطلوب. اسم المقترح كما هو محدد في مجموعة المقترحات التي تشكل جزءا من تعريف الفهرس. عامل تصفية الكلمة الأساسية str: تعبير OData الذي يقوم بتصفية المستندات التي تم أخذها في الاعتبار للاقتراحات. :الكلمة الأساسية bool use_fuzzy_matching: قيمة تشير إلى ما إذا كان يجب استخدام مطابقة غامضة للاقتراحات الاستعلام. الوضع الافتراضي خطأ. عند التعيين إلى صحيح، سيعثر الاستعلام على مصطلحات حتى إذا كان هناك حرف بديل أو مفقود في نص البحث. في حين أن هذا يوفر تجربة أفضل في بعض السيناريوهات، فإنه يأتي بتكلفة أداء حيث تكون استعلامات الاقتراحات الغامضة أبطأ وتستهلك المزيد من الموارد. |
upload_documents |
تحميل المستندات إلى فهرس بحث Azure. يشبه إجراء التحميل "upsert" حيث سيتم إدراج المستند إذا كان جديدا وتحديثه/استبداله إذا كان موجودا. يتم استبدال جميع الحقول في حالة التحديث. |
autocomplete
احصل على نتائج الإكمال التلقائي للبحث من فهرس بحث Azure.
المجموعة التي تشكل جزءا من تعريف الفهرس. :وضع الكلمة الأساسية: يحدد وضع الإكمال التلقائي. الإعداد الافتراضي هو "oneTerm". استخدم
'twoTerms' للحصول على القوباء المنطقية و'oneTermWithContext' لاستخدام السياق الحالي أثناء إنتاج المصطلحات المكتملة تلقائيا. تتضمن القيم المحتملة: "oneTerm" و"twoTerms" و"oneTermWithContext".
autocomplete(search_text: str, suggester_name: str, *, mode: str | AutocompleteMode | None = None, use_fuzzy_matching: bool | None = None, highlight_post_tag: str | None = None, highlight_pre_tag: str | None = None, minimum_coverage: float | None = None, search_fields: List[str] | None = None, top: int | None = None, **kwargs) -> List[Dict]
المعلمات
- filter
- str
تعبير OData الذي يقوم بتصفية المستندات المستخدمة لإنتاج مصطلحات مكتملة لنتيجة الإكمال التلقائي.
- use_fuzzy_matching
- bool
قيمة تشير إلى ما إذا كان يجب استخدام مطابقة غامضة لاستعلام الإكمال التلقائي. الوضع الافتراضي خطأ. عند التعيين إلى صحيح، سيعثر الاستعلام على مصطلحات حتى إذا كان هناك حرف بديل أو مفقود في نص البحث. في حين أن هذا يوفر تجربة أفضل في بعض السيناريوهات، فإنه يأتي بتكلفة أداء لأن استعلامات الإكمال التلقائي الغامض أبطأ وتستهلك المزيد من الموارد.
- highlight_post_tag
- str
علامة سلسلة يتم إلحاقها بعلامات التمييز. يجب تعيين مع highlightPreTag. إذا تم حذفه، يتم تعطيل تمييز الضغط.
- highlight_pre_tag
- str
علامة سلسلة تم إلحاقها بالضغط على النقاط البارزة. يجب تعيين مع تمييزPostTag. إذا تم حذفه، يتم تعطيل تمييز الضغط.
- minimum_coverage
- float
رقم بين 0 و100 يشير إلى النسبة المئوية للفهرس الذي يجب تغطيته بواسطة استعلام الإكمال التلقائي من أجل الإبلاغ عن الاستعلام على أنه ناجح. يمكن أن تكون هذه المعلمة مفيدة لضمان توفر البحث حتى للخدمات التي تحتوي على نسخة متماثلة واحدة فقط. الافتراضي هو 80.
قائمة أسماء الحقول التي يجب مراعاتها عند الاستعلام عن المصطلحات المكتملة تلقائيا. يجب تضمين الحقول الهدف في المقترح المحدد.
- top
- int
عدد المصطلحات المكتملة تلقائيا لاستردادها. يجب أن تكون هذه قيمة بين 1 و100. الافتراضي هو 5.
نوع الإرجاع
أمثلة
احصل على إكمال تلقائي.
from azure.core.credentials import AzureKeyCredential
from azure.search.documents import SearchClient
search_client = SearchClient(service_endpoint, index_name, AzureKeyCredential(key))
results = search_client.autocomplete(search_text="bo", suggester_name="sg")
print("Autocomplete suggestions for 'bo'")
for result in results:
print(" Completion: {}".format(result["text"]))
close
SearchClient أغلق جلسة العمل.
close() -> None
delete_documents
حذف المستندات من فهرس بحث Azure
يؤدي الحذف إلى إزالة المستند المحدد من الفهرس. سيتم تجاهل أي حقل تحدده في عملية حذف، بخلاف حقل المفتاح. إذا كنت تريد إزالة حقل فردي من مستند، فاستخدم merge_documents بدلا من ذلك وقم بتعيين الحقل بشكل صريح إلى بلا.
عمليات الحذف غير فعالة. أي، حتى إذا لم يكن مفتاح المستند موجودا في الفهرس، فإن محاولة عملية الحذف باستخدام هذا المفتاح ستؤدي إلى رمز حالة 200.
delete_documents(documents: List[Dict], **kwargs: Any) -> List[IndexingResult]
المعلمات
المرتجعات
قائمة IndexingResult
نوع الإرجاع
أمثلة
حذف المستندات الموجودة إلى فهرس
result = search_client.delete_documents(documents=[{"hotelId": "1000"}])
print("Delete new document succeeded: {}".format(result[0].succeeded))
get_document
استرداد مستند من فهرس بحث Azure بواسطة مفتاحه.
get_document(key: str, selected_fields: List[str] | None = None, **kwargs: Any) -> Dict
المعلمات
المرتجعات
المستند كما هو مخزن في فهرس بحث Azure
نوع الإرجاع
أمثلة
احصل على مستند معين من فهرس البحث.
from azure.core.credentials import AzureKeyCredential
from azure.search.documents import SearchClient
search_client = SearchClient(service_endpoint, index_name, AzureKeyCredential(key))
result = search_client.get_document(key="23")
print("Details for hotel '23' are:")
print(" Name: {}".format(result["hotelName"]))
print(" Rating: {}".format(result["rating"]))
print(" Category: {}".format(result["category"]))
get_document_count
إرجاع عدد المستندات في فهرس بحث Azure.
get_document_count(**kwargs: Any) -> int
المرتجعات
عدد المستندات في الفهرس
نوع الإرجاع
index_documents
حدد عمليات مستند لتنفيذها كدفعة.
:يثير RequestEntityTooLargeError
index_documents(batch: IndexDocumentsBatch, **kwargs: Any) -> List[IndexingResult]
المعلمات
المرتجعات
قائمة IndexingResult
نوع الإرجاع
merge_documents
دمج المستندات في المستندات الموجودة في فهرس بحث Azure.
يحدِّث الدمج مستند موجود بالحقول المحددة. إذا لم يكن المستند موجودا، فسيفشل الدمج. سيحل أي حقل تحدده في الدمج محل الحقل الموجود في المستند. ينطبق هذا أيضا على مجموعات من الأنواع الأولية والمعقدة.
merge_documents(documents: List[Dict], **kwargs: Any) -> List[IndexingResult]
المعلمات
المرتجعات
قائمة IndexingResult
نوع الإرجاع
أمثلة
دمج الحقول في المستندات الموجودة في فهرس
result = search_client.merge_documents(documents=[{"hotelId": "1000", "rating": 4.5}])
print("Merge into new document succeeded: {}".format(result[0].succeeded))
merge_or_upload_documents
دمج المستندات في المستندات الموجودة في فهرس بحث Azure، أو تحميلها إذا لم تكن موجودة بعد.
يعمل هذا الإجراء مثل merge_documents إذا كان المستند الذي يحتوي على المفتاح المحدد موجودا بالفعل في الفهرس. إذا لم يكن المستند موجودا، فإنه يتصرف مثل upload_documents بمستند جديد.
merge_or_upload_documents(documents: List[Dict], **kwargs: Any) -> List[IndexingResult]
المعلمات
المرتجعات
قائمة IndexingResult
نوع الإرجاع
search
ابحث في فهرس بحث Azure عن المستندات.
search(search_text: str | None = None, *, include_total_count: bool | None = None, facets: List[str] | None = None, filter: str | None = None, highlight_fields: str | None = None, highlight_post_tag: str | None = None, highlight_pre_tag: str | None = None, minimum_coverage: float | None = None, order_by: List[str] | None = None, query_type: str | QueryType | None = None, scoring_parameters: List[str] | None = None, scoring_profile: str | None = None, search_fields: List[str] | None = None, search_mode: str | SearchMode | None = None, query_answer: str | QueryAnswerType | None = None, query_answer_count: int | None = None, query_answer_threshold: float | None = None, query_caption: str | QueryCaptionType | None = None, query_caption_highlight_enabled: bool | None = None, semantic_configuration_name: str | None = None, select: List[str] | None = None, skip: int | None = None, top: int | None = None, scoring_statistics: str | ScoringStatistics | None = None, session_id: str | None = None, vector_queries: List[VectorQuery] | None = None, vector_filter_mode: str | VectorFilterMode | None = None, semantic_error_mode: str | SemanticErrorMode | None = None, semantic_max_wait_in_milliseconds: int | None = None, **kwargs: Any) -> SearchItemPaged[Dict]
المعلمات
- search_text
- str
تعبير استعلام بحث كامل النص؛ استخدم "*" أو احذف هذه المعلمة لمطابقة جميع المستندات.
- include_total_count
- bool
قيمة تحدد ما إذا كنت تريد إحضار العدد الإجمالي للنتائج. الوضع الافتراضي خطأ. قد يكون لتعيين هذه القيمة إلى true تأثير على الأداء. لاحظ أن العدد الذي تم إرجاعه هو تقريبي.
قائمة تعبيرات الواجهة لتطبيقها على استعلام البحث. يحتوي كل تعبير من تعبيرات الواجهات على اسم حقل، متبوعا اختياريا بقائمة مفصولة بفواصل من أزواج الاسم:القيمة.
- filter
- str
$filter تعبير OData لتطبيقه على استعلام البحث.
- highlight_fields
- str
قائمة أسماء الحقول المفصولة بفواصل لاستخدامها في تمييزات الضغط. يمكن استخدام الحقول القابلة للبحث فقط لتمييز الضغط.
- highlight_post_tag
- str
علامة سلسلة يتم إلحاقها بعلامات التمييز. يجب تعيين مع highlightPreTag. الافتراضي هو .
- highlight_pre_tag
- str
علامة سلسلة تم إلحاقها بالضغط على النقاط البارزة. يجب تعيين مع تمييزPostTag. الافتراضي هو .
- minimum_coverage
- float
رقم بين 0 و100 يشير إلى النسبة المئوية للفهرس الذي يجب تغطيته بواسطة استعلام بحث حتى يتم الإبلاغ عن الاستعلام على أنه ناجح. يمكن أن تكون هذه المعلمة مفيدة لضمان توفر البحث حتى للخدمات التي تحتوي على نسخة متماثلة واحدة فقط. الوضع الافتراضي هو 100.
قائمة OData $orderby التعبيرات التي يتم فرز النتائج من خلالها. يمكن أن يكون كل تعبير إما اسم حقل أو استدعاء لوظائف geo.distance() أو search.score(). يمكن أن يتبع كل تعبير asc للإشارة إلى تصاعدي، و desc للإشارة إلى تنازلي. الإعداد الافتراضي هو ترتيب تصاعدي. سيتم كسر الروابط من خلال عشرات مطابقة المستندات. إذا لم يتم تحديد OrderBy، يكون ترتيب الفرز الافتراضي تنازليا حسب درجة مطابقة المستند. يمكن أن يكون هناك على الأكثر 32 عبارة $orderby.
قيمة تحدد بناء جملة استعلام البحث. الإعداد الافتراضي هو "بسيط". استخدم "كامل" إذا كان الاستعلام يستخدم بناء جملة استعلام Lucene. تتضمن القيم المحتملة: "بسيط" و"كامل" و"دلالي".
قائمة قيم المعلمات التي سيتم استخدامها في دالات التسجيل (على سبيل المثال، referencePointParameter) باستخدام تنسيق قيم الاسم. على سبيل المثال، إذا كان ملف تعريف التسجيل يعرف دالة مع معلمة تسمى "mylocation" ستكون سلسلة المعلمة "mylocation-122.2,44.8" (بدون علامات الاقتباس).
- scoring_profile
- str
اسم ملف تعريف تسجيل النقاط لتقييم درجات المطابقة للمستندات المطابقة من أجل فرز النتائج.
قائمة أسماء الحقول التي سيتم تحديد نطاق البحث عن النص الكامل لها. عند استخدام البحث الميداني (fieldName:searchExpression) في استعلام Lucene كامل، تكون لأسماء الحقول لكل تعبير بحث حقل الأسبقية على أي أسماء حقول مدرجة في هذه المعلمة.
- search_mode
- str أو SearchMode
قيمة تحدد ما إذا كان يجب مطابقة أي من مصطلحات البحث أو كلها من أجل حساب المستند كمطابقة. تتضمن القيم المحتملة: "any" و"all".
- query_answer
- str أو QueryAnswerType
هذه المعلمة صالحة فقط إذا كان نوع الاستعلام "دلالي". إذا تم تعيينه، يقوم الاستعلام بإرجاع الإجابات المستخرجة من المقاطع الرئيسية في المستندات الأعلى مرتبة. تتضمن القيم المحتملة: "none"، "extractive".
- query_answer_count
- int
هذه المعلمة صالحة فقط إذا كان نوع الاستعلام "دلالي" وكانت إجابة الاستعلام "استخراجية". تكوين عدد الإجابات التي تم إرجاعها. العدد الافتراضي هو 1.
- query_answer_threshold
- float
هذه المعلمة صالحة فقط إذا كان نوع الاستعلام "دلالي" وكانت إجابة الاستعلام "استخراجية". تكوين عدد حد الثقة. العدد الافتراضي هو 0.7.
- query_caption
- str أو QueryCaptionType
هذه المعلمة صالحة فقط إذا كان نوع الاستعلام "دلالي". إذا تم تعيينه، يقوم الاستعلام بإرجاع التسميات التوضيحية المستخرجة من المقاطع الرئيسية في المستندات الأعلى مرتبة. الإعدادات الافتراضية ل "بلا". تتضمن القيم المحتملة: "none"، "extractive".
- query_caption_highlight_enabled
- bool
هذه المعلمة صالحة فقط إذا كان نوع الاستعلام "دلالي" عند تعيين التسمية التوضيحية للاستعلام إلى "استخراجي". تحديد ما إذا كان التمييز ممكنا أم لا. الإعدادات الافتراضية إلى "صحيح".
- semantic_configuration_name
- str
اسم التكوين الدلالي الذي سيتم استخدامه عند معالجة المستندات للاستعلامات من النوع الدلالي.
قائمة الحقول المراد استردادها. إذا لم يتم تحديدها، يتم تضمين جميع الحقول التي تم وضع علامة عليها على أنها قابلة للاسترداد في المخطط.
- skip
- int
عدد نتائج البحث التي يجب تخطيها. لا يمكن أن تكون هذه القيمة أكبر من 100,000. إذا كنت بحاجة إلى مسح المستندات ضوئيا بالتسلسل، ولكن لا يمكنك استخدام $skip بسبب هذا القيد، ففكر في استخدام $orderby على مفتاح مرتب بالكامل $filter مع استعلام نطاق بدلا من ذلك.
- top
- int
عدد نتائج البحث المراد استردادها. يمكن استخدام هذا بالاقتران مع $skip لتنفيذ ترحيل نتائج البحث من جانب العميل. إذا تم اقتطاع النتائج بسبب الترحيل من جانب الخادم، فستتضمن الاستجابة رمز استمرار يمكن استخدامه لإصدار طلب بحث آخر للصفحة التالية من النتائج.
- scoring_statistics
- str أو ScoringStatistics
قيمة تحدد ما إذا كنا نريد حساب إحصائيات التسجيل (مثل تكرار المستند) عالميا للحصول على تسجيل أكثر اتساقا، أو محليا، للحصول على زمن انتقال أقل. الإعداد الافتراضي هو "محلي". استخدم "عمومي" لتجميع إحصائيات التسجيل عالميا قبل التسجيل. يمكن أن يؤدي استخدام إحصائيات التسجيل العمومية إلى زيادة زمن انتقال استعلامات البحث. تتضمن القيم المحتملة: "محلي"، "عمومي".
- session_id
- str
قيمة لاستخدامها لإنشاء جلسة عمل ملصقة، والتي يمكن أن تساعد في الحصول على نتائج أكثر اتساقا. طالما يتم استخدام نفس sessionId، سيتم بذل أفضل محاولة لاستهداف نفس مجموعة النسخ المتماثلة. كن حذرا من أن إعادة استخدام نفس قيم sessionID بشكل متكرر يمكن أن تتداخل مع موازنة تحميل الطلبات عبر النسخ المتماثلة وتؤثر سلبا على أداء خدمة البحث. لا يمكن أن تبدأ القيمة المستخدمة كمعرف جلسة العمل بحرف '_'.
- semantic_error_mode
- str أو SemanticErrorMode
يسمح للمستخدم باختيار ما إذا كان يجب أن تفشل المكالمة الدلالية تماما (السلوك الافتراضي / الحالي)، أو إرجاع نتائج جزئية. القيم المعروفة هي: "جزئي" و"فشل".
- semantic_max_wait_in_milliseconds
- int
يسمح للمستخدم بتعيين حد أعلى على مقدار الوقت الذي يستغرقه الإثراء الدلالي لإنهاء المعالجة قبل فشل الطلب.
- vector_queries
- list[VectorQuery]
معلمات الاستعلام لاستعلامات البحث المتجهة والمختلطة.
- vector_filter_mode
- str أو VectorFilterMode
تحديد ما إذا كانت عوامل التصفية يتم تطبيقها قبل أو بعد إجراء البحث المتجه. الافتراضي هو "preFilter". القيم المعروفة هي: "postFilter" و"preFilter".
نوع الإرجاع
أمثلة
احصل على واجهات نتائج البحث.
from azure.core.credentials import AzureKeyCredential
from azure.search.documents import SearchClient
search_client = SearchClient(service_endpoint, index_name, AzureKeyCredential(key))
results = search_client.search(search_text="WiFi", facets=["category,count:3", "parkingIncluded"])
facets: Dict[str, List[str]] = cast(Dict[str, List[str]], results.get_facets())
print("Catgory facet counts for hotels:")
for facet in facets["category"]:
print(" {}".format(facet))
suggest
احصل على نتائج اقتراحات البحث من فهرس بحث Azure.
حرف، ولا يزيد عن 100 حرف. suggester_name :p aram str: مطلوب. اسم المقترح كما هو محدد في مجموعة المقترحات التي تشكل جزءا من تعريف الفهرس. عامل تصفية الكلمة الأساسية str: تعبير OData الذي يقوم بتصفية المستندات التي تم أخذها في الاعتبار للاقتراحات. :الكلمة الأساسية bool use_fuzzy_matching: قيمة تشير إلى ما إذا كان يجب استخدام مطابقة غامضة للاقتراحات
الاستعلام. الوضع الافتراضي خطأ. عند التعيين إلى صحيح، سيعثر الاستعلام على مصطلحات حتى إذا كان هناك حرف بديل أو مفقود في نص البحث. في حين أن هذا يوفر تجربة أفضل في بعض السيناريوهات، فإنه يأتي بتكلفة أداء حيث تكون استعلامات الاقتراحات الغامضة أبطأ وتستهلك المزيد من الموارد.
suggest(search_text: str, suggester_name: str, *, use_fuzzy_matching: bool | None = None, highlight_post_tag: str | None = None, highlight_pre_tag: str | None = None, minimum_coverage: float | None = None, order_by: List[str] | None = None, search_fields: List[str] | None = None, select: List[str] | None = None, top: int | None = None, **kwargs) -> List[Dict]
المعلمات
- highlight_post_tag
- str
علامة سلسلة يتم إلحاقها بعلامات التمييز. يجب تعيين مع highlightPreTag. إذا تم حذفه، يتم تعطيل تمييز الضغط على الاقتراحات.
- highlight_pre_tag
- str
علامة سلسلة تم إلحاقها بالضغط على النقاط البارزة. يجب تعيين مع تمييزPostTag. إذا تم حذفه، يتم تعطيل تمييز الضغط على الاقتراحات.
- minimum_coverage
- float
رقم بين 0 و100 يشير إلى النسبة المئوية للفهرس الذي يجب تغطيته بواسطة استعلام اقتراحات من أجل الإبلاغ عن الاستعلام على أنه ناجح. يمكن أن تكون هذه المعلمة مفيدة لضمان توفر البحث حتى للخدمات التي تحتوي على نسخة متماثلة واحدة فقط. الافتراضي هو 80.
قائمة OData $orderby التعبيرات التي يتم فرز النتائج من خلالها. يمكن أن يكون كل تعبير إما اسم حقل أو استدعاء لوظائف geo.distance() أو search.score(). يمكن أن يتبع كل تعبير asc للإشارة إلى تصاعدي، أو desc للإشارة إلى تنازلي. الإعداد الافتراضي هو ترتيب تصاعدي. سيتم كسر الروابط من خلال عشرات مطابقة المستندات. إذا لم يتم تحديد $orderby، يكون ترتيب الفرز الافتراضي تنازليا حسب درجة مطابقة المستند. يمكن أن يكون هناك على الأكثر 32 عبارة $orderby.
قائمة أسماء الحقول للبحث عن نص البحث المحدد. يجب تضمين الحقول الهدف في المقترح المحدد.
قائمة الحقول المراد استردادها. إذا لم يتم تحديده، فسيتم تضمين حقل المفتاح فقط في النتائج.
- top
- int
عدد الاقتراحات المراد استردادها. يجب أن تكون القيمة رقما بين 1 و100. الافتراضي هو 5.
المرتجعات
قائمة المستندات.
نوع الإرجاع
أمثلة
احصل على اقتراحات البحث.
from azure.core.credentials import AzureKeyCredential
from azure.search.documents import SearchClient
search_client = SearchClient(service_endpoint, index_name, AzureKeyCredential(key))
results = search_client.suggest(search_text="coffee", suggester_name="sg")
print("Search suggestions for 'coffee'")
for result in results:
hotel = search_client.get_document(key=result["hotelId"])
print(" Text: {} for Hotel: {}".format(repr(result["text"]), hotel["hotelName"]))
upload_documents
تحميل المستندات إلى فهرس بحث Azure.
يشبه إجراء التحميل "upsert" حيث سيتم إدراج المستند إذا كان جديدا وتحديثه/استبداله إذا كان موجودا. يتم استبدال جميع الحقول في حالة التحديث.
upload_documents(documents: List[Dict], **kwargs: Any) -> List[IndexingResult]
المعلمات
المرتجعات
قائمة IndexingResult
نوع الإرجاع
أمثلة
تحميل مستندات جديدة إلى فهرس
DOCUMENT = {
"category": "Hotel",
"hotelId": "1000",
"rating": 4.0,
"rooms": [],
"hotelName": "Azure Inn",
}
result = search_client.upload_documents(documents=[DOCUMENT])
print("Upload of new document succeeded: {}".format(result[0].succeeded))
Azure SDK for Python