‘Búsqueda cognitiva de Azure’: problema de configuración de ‘campos’

programación


Estoy trabajando en la creación de un motor de búsqueda semántica utilizando ‘Azure Cognitive Search’. Cargué mi conjunto de datos de Excel mediante programación usando Python.

Para buscar y ejecutar las consultas, cada campo/columna en el conjunto de datos de Excel se puede asociar con funciones como “buscable”, “ordenable”, “recuperable”, “filtrable” y “facetable”.

Intenté seleccionar estas funciones para los campos/columnas de mi conjunto de datos, pero están deshabilitadas de alguna manera. Sólo se puede seleccionar la opción “recuperable”. Lo intenté tanto mediante programación como manualmente. Ninguno de estos métodos funciona.

NOTA: Estoy usando una versión de prueba gratuita. No estoy seguro de si esto está causando el problema, pero la documentación dice que “recuperable” no tiene ningún efecto en el tamaño del índice. “filtrable”, “clasificable”, “facetable” consume más almacenamiento”. Además, mis datos son muy pequeños, con 8 filas y 10 columnas, en su mayoría números y texto de una sola palabra.

Lo que he probado:

Mi código Python para seleccionar las características:

Pitón
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

Solución 1

Se enfrenta a un problema en el que solo se puede seleccionar el atributo “recuperable” para los campos de su índice de Azure Cognitive Search, mientras que otros atributos como “buscable”, “ordenable”, “filtrable” y “facetable” están deshabilitados.

Esto podría estar relacionado con limitaciones en el nivel gratuito de Azure Cognitive Search. Si bien la documentación menciona que atributos como “filtrable”, “ordenable” y “facetable” consumen más almacenamiento, no indica explícitamente que estén deshabilitados para los niveles gratuitos.

Me encontré con los mismos problemas.

コメント

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