‘Pencarian kognitif Azure’ – masalah konfigurasi ‘bidang’

pemrograman


Saya sedang membangun mesin pencari semantik menggunakan ‘Azure Cognitive Search’. Saya mengunggah kumpulan data Excel saya secara terprogram menggunakan Python.

Untuk mencari & menjalankan kueri, setiap bidang/kolom dalam kumpulan data Excel dapat dikaitkan dengan fitur seperti ‘dapat dicari’, ‘dapat diurutkan’, ‘dapat diambil’, ‘dapat difilter’, & ‘dapat diseleksi’.

Saya mencoba memilih fitur-fitur ini untuk bidang/kolom di kumpulan data saya, tetapi entah bagaimana fitur tersebut dinonaktifkan. Hanya opsi ‘dapat diambil’ yang dapat dipilih. Saya mencoba keduanya secara terprogram & manual. Tak satu pun dari metode ini berhasil.

CATATAN: Saya menggunakan versi uji coba gratis. Tidak yakin apakah ini yang menyebabkan masalah, tetapi dokumentasi mengatakan, “dapat diambil” tidak berpengaruh pada ukuran indeks. “dapat difilter”, “dapat diurutkan”, “facetable” menghabiskan lebih banyak penyimpanan”. Selain itu, data saya sangat kecil dengan 8 baris & 10 kolom, dengan sebagian besar berupa angka & teks satu kata.

Apa yang saya coba:

Kode Python saya untuk memilih fitur:

ular piton
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

Solusi 1

Anda menghadapi masalah ketika hanya atribut ‘dapat diambil’ yang dapat dipilih untuk bidang di indeks Azure Cognitive Search Anda, sementara atribut lain seperti ‘dapat dicari’, ‘dapat diurutkan’, ‘dapat difilter’, dan ‘dapat di-facetable’ dinonaktifkan.

Hal ini mungkin terkait dengan keterbatasan pada tingkat gratis Azure Cognitive Search. Meskipun dokumentasi menyebutkan bahwa atribut seperti ‘filterable’, ‘sortable’, dan ‘facetable’ menghabiskan lebih banyak penyimpanan, dokumentasi tersebut tidak secara eksplisit menyatakan bahwa atribut tersebut dinonaktifkan untuk tingkatan gratis.

Saya mengalami masalah yang sama.

コメント

タイトルとURLをコピーしました