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.
Zalecenia dotyczące text
analizowania 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:
delimitedText
Tryb analizowania, jeśli źródłem jest PLIK CSVjsonArray
lubjsonLines
, jeśli źródłem jest JSON
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=2024-07-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. Obsługiwana lista kodowań znajduje się w kolumnie obsługa platformy .NET 5 lub nowszej.
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text", "encoding" : "iso-8859-1" } }
}
Przykład żądania
Tryby analizowania są określone w definicji indeksatora.
POST https://[service name].search.windows.net/indexers?api-version=2024-07-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" } }
}