Indeksowanie obiektów blob i plików w postaci zwykłego tekstu w usłudze Azure AI Search

Dotyczy: indeksatory obiektów blob, indeksatory plików

W przypadku korzystania z indeksatora do wyodrębniania tekstu obiektu blob z możliwością wyszukiwania pełnotekstowego lub zawartości pliku można przypisać tryb analizowania, aby uzyskać lepsze wyniki indeksowania. Domyślnie indeksator analizuje właściwość obiektu blob content jako pojedynczy fragment tekstu. Jeśli jednak wszystkie obiekty blob i pliki zawierają zwykły tekst w tym samym kodowaniu, możesz znacznie poprawić wydajność indeksowania przy użyciu text trybu analizowania.

Rekomendacje analizy text obejmują jedną z następujących cech:

  • Typ pliku to .txt
  • Pliki są dowolnego typu, ale sama zawartość to tekst (na przykład kod źródłowy programu, HTML, XML itd.). W przypadku plików w języku znaczników znaki składni są przekazywane jako tekst statyczny.

Pamiętaj, że wszystkie indeksatory serializują dane JSON. Domyślnie zawartość całego pliku tekstowego jest indeksowana w jednym dużym polu jako "content": "<file-contents>". Nowe instrukcje dotyczące wiersza i zwracania są osadzone w polu zawartości i wyrażone jako \r\n\.

Jeśli chcesz uzyskać bardziej wyrafinowany lub szczegółowy wynik, a typ pliku jest zgodny, rozważ następujące rozwiązania:

Alternatywna trzecia opcja podziału zawartości na wiele części wymaga zaawansowanych funkcji w postaci wzbogacania sztucznej inteligencji. Dodaje analizę, która identyfikuje i przypisuje fragmenty pliku do różnych pól wyszukiwania. Możesz znaleźć pełne lub częściowe rozwiązanie za pomocą wbudowanych umiejętności , takich jak rozpoznawanie jednostek lub wyodrębnianie słów kluczowych, ale bardziej prawdopodobne rozwiązanie może być niestandardowym modelem uczenia, który rozumie twoją zawartość, opakowaną w niestandardową umiejętność.

Konfigurowanie indeksowania zwykłego tekstu

Aby indeksować obiekty blob w postaci zwykłego tekstu, utwórz lub zaktualizuj definicję indeksatora za pomocą właściwości konfiguracji ustawionej parsingMode na text wartość w żądaniu Create Indexer :

PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=2023-11-01
Content-Type: application/json
api-key: [admin key]

{
  ... other parts of indexer definition
  "parameters" : { "configuration" : { "parsingMode" : "text" } }
}

Domyślnie przyjmuje się UTF-8 kodowanie. Aby określić inne kodowanie, użyj encoding właściwości konfiguracji:

{
  ... other parts of indexer definition
  "parameters" : { "configuration" : { "parsingMode" : "text", "encoding" : "windows-1252" } }
}

Przykład żądania

Tryby analizowania są określone w definicji indeksatora.

POST https://[service name].search.windows.net/indexers?api-version=2023-11-01
Content-Type: application/json
api-key: [admin key]

{
  "name" : "my-plaintext-indexer",
  "dataSourceName" : "my-blob-datasource",
  "targetIndexName" : "my-target-index",
  "parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextHeaders" : "id,datePublished,tags" } }
}

Następne kroki