[ad_1]
أنا أعمل على إنشاء محرك بحث دلالي باستخدام “Azure Cognitive Search”. لقد قمت بتحميل مجموعة بيانات Excel الخاصة بي برمجياً باستخدام Python.
للبحث عن الاستعلامات وتشغيلها، يمكن ربط كل حقل/عمود في مجموعة بيانات Excel بميزات مثل “قابل للبحث” و”قابل للفرز” و”قابل للاسترجاع” و”قابل للتصفية” و”قابل للواجه”.
لقد حاولت تحديد هذه الميزات للحقول/الأعمدة في مجموعة البيانات الخاصة بي، ولكن تم تعطيلها بطريقة ما. يمكن تحديد الخيار “القابل للاسترجاع” فقط. لقد حاولت برمجيًا ويدويًا. لا تعمل أي من هذه الأساليب.
ملحوظة: أنا أستخدم نسخة تجريبية مجانية. لست متأكدًا مما إذا كان هذا هو سبب المشكلة، ولكن الوثائق تشير إلى أن “القابل للاسترجاع” ليس له أي تأثير على حجم الفهرس. تستهلك “قابل للتصفية” و”قابل للفرز” و”قابل للواجه” مساحة تخزين أكبر”. كما أن بياناتي صغيرة جدًا وتتكون من 8 صفوف و10 أعمدة، ومعظمها أرقام ونص من كلمة واحدة.
ما حاولت:
رمز Python الخاص بي لتحديد الميزات:
import pandas as pd import json from azure.search.documents.indexes.models import SimpleField, SearchFieldDataType import os from azure.core.credentials import AzureKeyCredential from azure.search.documents.indexes import SearchIndexClient from azure.search.documents import SearchClient df_azure=pd.read_excel("C:/stats.xlsx") endpoint="https://azure-service.search.windows.net" key="q5EMEa0at5VJRvwTVlkqWhvHSKs" SearchIndexClient=SearchIndexClient(endpoint, AzureKeyCredential(key)) indexName="indexes-azure" from azure.search.documents.indexes.models import ( ComplexField, CorsOptions, SearchIndex, ScoringProfile, SearchFieldDataType, SimpleField, SearchableField ) fields=[ SearchableField(name="rule_name", type=SearchFieldDataType.String, facetable=True, filterable=True, sortable=True), SearchableField(name="rule_description", type=SearchFieldDataType.String, facetable=True, filterable=True, sortable=True), SearchableField(name="Date_of_execution", type=SearchFieldDataType.String, facetable=True, filterable=True, sortable=True), SearchableField(name="Data_Source", type=SearchFieldDataType.String, facetable=True, filterable=True, sortable=True), SearchableField(name="Total_no_of_records", type=SearchFieldDataType.String, facetable=True, filterable=True, sortable=True), SearchableField(name="No_of_failed_records", type=SearchFieldDataType.String, facetable=True, filterable=True, sortable=True) ] indexConfig= SearchIndex(name=indexName, fields=fields, scoring_profiles=[], cors_options= CorsOptions(allowed_origins=["*"], max_age_in_seconds=60)) index=SearchIndexClient.create_index(indexConfig) SearchClient = SearchClient(endpoint, indexName, AzureKeyCredential(key)) result = SearchClient.upload_documents(documents=DOCUMENTS) print("DOCUMENT upload successful: {}".format(result[0].succeeded))
Output: DOCUMENT upload successful: True
الحل 1
أنت تواجه مشكلة حيث يمكن تحديد السمة “القابلة للاسترجاع” فقط للحقول الموجودة في فهرس البحث المعرفي في Azure، بينما يتم تعطيل السمات الأخرى مثل “القابلة للبحث” و”القابلة للفرز” و”القابلة للتصفية” و”القابلة للواجه”.
قد يكون هذا مرتبطًا بالقيود الموجودة في الطبقة المجانية من Azure Cognitive Search. على الرغم من أن الوثائق تشير إلى أن السمات مثل “filterable” و”sortable” و”facetable” تستهلك مساحة تخزين أكبر، إلا أنها لا تنص صراحة على أنها معطلة للطبقات المجانية.
واجهت نفس المشاكل.
[ad_2]
コメント