SearchClient الفصل

عميل للتفاعل مع فهرس بحث Azure موجود.

توريث
azure.search.documents._headers_mixin.HeadersMixin
SearchClient

الدالمنشئ

SearchClient(endpoint: str, index_name: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)

المعلمات

endpoint
str
مطلوب

نقطة نهاية عنوان URL لخدمة بحث Azure

index_name
str
مطلوب

اسم الفهرس المراد الاتصال به

credential
AzureKeyCredential أو TokenCredential
مطلوب

بيانات اعتماد لتخويل طلبات عميل البحث

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

حدد عمليات مستند لتنفيذها كدفعة.

:يثير RequestEntityTooLargeError

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.

search_fields
list[str]

قائمة أسماء الحقول التي يجب مراعاتها عند الاستعلام عن المصطلحات المكتملة تلقائيا. يجب تضمين الحقول الهدف في المقترح المحدد.

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]

المعلمات

documents
list[dict]
مطلوب

قائمة بالمستندات المراد حذفها.

المرتجعات

قائمة 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

المعلمات

key
str
مطلوب

قيمة المفتاح الأساسي للمستند لاستردادها

selected_fields
list[str]
مطلوب

قائمة السماح بالحقول المراد تضمينها في النتائج

المرتجعات

المستند كما هو مخزن في فهرس بحث 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

المرتجعات

عدد المستندات في الفهرس

نوع الإرجاع

int

index_documents

حدد عمليات مستند لتنفيذها كدفعة.

:يثير RequestEntityTooLargeError

index_documents(batch: IndexDocumentsBatch, **kwargs: Any) -> List[IndexingResult]

المعلمات

batch
IndexDocumentsBatch
مطلوب

دفعة من عمليات المستند المطلوب تنفيذها.

المرتجعات

قائمة IndexingResult

نوع الإرجاع

merge_documents

دمج المستندات في المستندات الموجودة في فهرس بحث Azure.

يحدِّث الدمج مستند موجود بالحقول المحددة. إذا لم يكن المستند موجودا، فسيفشل الدمج. سيحل أي حقل تحدده في الدمج محل الحقل الموجود في المستند. ينطبق هذا أيضا على مجموعات من الأنواع الأولية والمعقدة.

merge_documents(documents: List[Dict], **kwargs: Any) -> List[IndexingResult]

المعلمات

documents
list[dict]
مطلوب

قائمة بالمستندات المراد دمجها.

المرتجعات

قائمة 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]

المعلمات

documents
list[dict]
مطلوب

قائمة بالمستندات المراد دمجها أو تحميلها.

المرتجعات

قائمة IndexingResult

نوع الإرجاع

ابحث في فهرس بحث 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 تأثير على الأداء. لاحظ أن العدد الذي تم إرجاعه هو تقريبي.

facets
list[str]

قائمة تعبيرات الواجهة لتطبيقها على استعلام البحث. يحتوي كل تعبير من تعبيرات الواجهات على اسم حقل، متبوعا اختياريا بقائمة مفصولة بفواصل من أزواج الاسم:القيمة.

filter
str

$filter تعبير OData لتطبيقه على استعلام البحث.

highlight_fields
str

قائمة أسماء الحقول المفصولة بفواصل لاستخدامها في تمييزات الضغط. يمكن استخدام الحقول القابلة للبحث فقط لتمييز الضغط.

highlight_post_tag
str

علامة سلسلة يتم إلحاقها بعلامات التمييز. يجب تعيين مع highlightPreTag. الافتراضي هو .

highlight_pre_tag
str

علامة سلسلة تم إلحاقها بالضغط على النقاط البارزة. يجب تعيين مع تمييزPostTag. الافتراضي هو .

minimum_coverage
float

رقم بين 0 و100 يشير إلى النسبة المئوية للفهرس الذي يجب تغطيته بواسطة استعلام بحث حتى يتم الإبلاغ عن الاستعلام على أنه ناجح. يمكن أن تكون هذه المعلمة مفيدة لضمان توفر البحث حتى للخدمات التي تحتوي على نسخة متماثلة واحدة فقط. الوضع الافتراضي هو 100.

order_by
list[str]

قائمة OData $orderby التعبيرات التي يتم فرز النتائج من خلالها. يمكن أن يكون كل تعبير إما اسم حقل أو استدعاء لوظائف geo.distance() أو search.score(). يمكن أن يتبع كل تعبير asc للإشارة إلى تصاعدي، و desc للإشارة إلى تنازلي. الإعداد الافتراضي هو ترتيب تصاعدي. سيتم كسر الروابط من خلال عشرات مطابقة المستندات. إذا لم يتم تحديد OrderBy، يكون ترتيب الفرز الافتراضي تنازليا حسب درجة مطابقة المستند. يمكن أن يكون هناك على الأكثر 32 عبارة $orderby.

query_type
str أو QueryType

قيمة تحدد بناء جملة استعلام البحث. الإعداد الافتراضي هو "بسيط". استخدم "كامل" إذا كان الاستعلام يستخدم بناء جملة استعلام Lucene. تتضمن القيم المحتملة: "بسيط" و"كامل" و"دلالي".

scoring_parameters
list[str]

قائمة قيم المعلمات التي سيتم استخدامها في دالات التسجيل (على سبيل المثال، referencePointParameter) باستخدام تنسيق قيم الاسم. على سبيل المثال، إذا كان ملف تعريف التسجيل يعرف دالة مع معلمة تسمى "mylocation" ستكون سلسلة المعلمة "mylocation-122.2,44.8" (بدون علامات الاقتباس).

scoring_profile
str

اسم ملف تعريف تسجيل النقاط لتقييم درجات المطابقة للمستندات المطابقة من أجل فرز النتائج.

search_fields
list[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

اسم التكوين الدلالي الذي سيتم استخدامه عند معالجة المستندات للاستعلامات من النوع الدلالي.

select
list[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.

order_by
list[str]

قائمة OData $orderby التعبيرات التي يتم فرز النتائج من خلالها. يمكن أن يكون كل تعبير إما اسم حقل أو استدعاء لوظائف geo.distance() أو search.score(). يمكن أن يتبع كل تعبير asc للإشارة إلى تصاعدي، أو desc للإشارة إلى تنازلي. الإعداد الافتراضي هو ترتيب تصاعدي. سيتم كسر الروابط من خلال عشرات مطابقة المستندات. إذا لم يتم تحديد $orderby، يكون ترتيب الفرز الافتراضي تنازليا حسب درجة مطابقة المستند. يمكن أن يكون هناك على الأكثر 32 عبارة $orderby.

search_fields
list[str]

قائمة أسماء الحقول للبحث عن نص البحث المحدد. يجب تضمين الحقول الهدف في المقترح المحدد.

select
list[str]

قائمة الحقول المراد استردادها. إذا لم يتم تحديده، فسيتم تضمين حقل المفتاح فقط في النتائج.

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]

المعلمات

documents
list[dict]
مطلوب

قائمة بالمستندات المراد تحميلها.

المرتجعات

قائمة 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))