Azure AI Search'te sorgulama

Azure AI Search, serbest biçimli metin aramasından yüksek oranda belirtilen sorgu desenlerine ve vektör aramasına kadar çok çeşitli senaryolar için sorgu yapılarını destekler. Tüm sorgular, aranabilir içeriği depolayan bir arama dizini üzerinden yürütülür.

Sorgu türleri

Sorgu formu Aranabilir içerik Tanım
tam metin araması Belirteçli terimlerin ters dizinleri. Tam metin sorguları, hızlı taramalar için yapılandırılmış ters dizinler üzerinde yinelenir ve burada herhangi bir alanda, herhangi bir sayıda arama belgesi içinde eşleşme bulunabilir. Metin, tam metin araması için analiz edilir ve belirteç haline getirilir.
Vektör araması Oluşturulan eklemelerin vektör dizinleri. Vektör sorguları, arama dizinindeki vektör alanları üzerinde yinelenir.
Karma arama Yukarıdakilerin tümü, tek bir arama dizininde. Metin arama ve vektör aramalarını tek bir sorgu isteğinde birleştirir. Metin arama, "aranabilir" ve "filtrelenebilir" alanlarındaki düz metin içeriğinde çalışır. Vektör araması, vektör alanlarındaki içerik üzerinde çalışır.
Diğer Düz metin ve alfasayısal içerik. Kaynak belgelerden ayrıntılı olarak ayıklanan ham içerik, coğrafi uzamsal arama, benzer arama ve alanlı arama gibi destekleyici filtreler ve desen eşleştirme sorguları.

Bu makale odağı son kategoriye getirir: düz metin ve alfasayısal içerik üzerinde çalışan, özgün kaynaktan bozulmadan ayıklanan, filtreler ve diğer özel sorgu formları için kullanılan sorgular.

Otomatik tamamlama ve önerilen sorgular

Otomatik tamamlama veya önerilen sonuçlar , bir tür olarak arama deneyiminde kısmi dize girişlerine (her karakterden sonra) göre ardışık sorgu isteklerini tetikleyen alternatiflerdir search . ve suggestions parametresini, bu kılavuzda açıklandığı gibi birlikte veya ayrı ayrı kullanabilirsinizautocomplete, ancak ile searchkullanamazsınız. Hem tamamlanmış terimler hem de önerilen sorgular dizin içeriklerinden türetilir. Altyapı hiçbir zaman dizininizde var olmayan bir dize veya öneri döndürmez. Daha fazla bilgi için bkz . Otomatik Tamamlama (REST API) ve Öneriler (REST API).

Filtreler, Azure AI Search'e dayalı uygulamalarda yaygın olarak kullanılır. Uygulama sayfalarında filtreler genellikle kullanıcı tarafından yönlendirilen filtreleme için bağlantı gezinti yapılarında model olarak görselleştirilir. Filtreler, dizine alınan içerik dilimlerini kullanıma açmak için dahili olarak da kullanılır. Örneğin, bir ürün kategorisinde filtre kullanarak veya dizin hem İngilizce hem de Fransızca alanlar içeriyorsa bir dil kullanarak bir arama sayfası başlatabilirsiniz.

Ayrıca, aşağıdaki tabloda açıklandığı gibi özelleştirilmiş bir sorgu formunu çağırmak için filtrelere de ihtiyacınız olabilir. Belirtilmemiş bir aramayla (search=*) veya terimler, tümcecikler, işleçler ve desenler içeren bir sorgu dizesiyle filtre kullanabilirsiniz.

Filtre senaryosu Tanım
Aralık filtreleri Azure AI Search'te aralık sorguları filtre parametresi kullanılarak oluşturulur. Daha fazla bilgi ve örnek için bkz . Aralık filtresi örneği.
Çok yönlü gezinme Modelli gezinti ağacında kullanıcılar modelleri seçebilir. Filtreler tarafından desteklendiğinde, arama sonuçları her tıklamada daraltılır. Her model, model tarafından sağlanan ölçütlerle artık eşleşmemiş belgeleri dışlayan bir filtre tarafından yedeklenmiştir.

Dekont

Bir filtre ifadesinde kullanılan metin, sorgu işleme sırasında çözümlenmez. Metin girişinin, eşleşmede başarılı veya başarısız olan büyük/küçük harfe duyarlı bir karakter deseni olduğu varsayılır. Filtre ifadeleri OData söz dizimi kullanılarak oluşturulur ve dizininizdeki tüm filtrelenebilir alanlarda bir filter parametreye geçirilir. Daha fazla bilgi için bkz . Azure AI Search'te filtreler.

Jeo-uzamsal arama, bir konumun enlem ve boylam koordinatlarında "yakınımda bul" veya harita tabanlı arama deneyimiyle eşleşir. Azure AI Search'te şu adımları izleyerek jeo-uzamsal arama uygulayabilirsiniz:

Jeo-uzamsal arama mesafe için kilometre kullanır. Koordinatlar şu biçimde belirtilir: (longitude, latitude).

Jeo-uzamsal arama için bir filtre örneği aşağıda verilmiştir. Bu filtre, arama dizininde coğrafya noktasının 300 kilometre yarıçapı içinde koordinatları olan diğer Location alanları bulur (bu örnekte, Washington D.C.). Sonuçta adres bilgilerini döndürür ve konuma göre kendi kendine gezinti için isteğe bağlı facets bir yan tümcesi içerir.

POST https://{{searchServiceName}}.search.windows.net/indexes/hotels-vector-quickstart/docs/search?api-version=2023-07-01-Preview
{
    "count": true,
    "search": "*",
    "filter": "geo.distance(Location, geography'POINT(-77.03241 38.90166)') le 300",
    "facets": [ "Address/StateProvince"],
    "select": "HotelId, HotelName, Address/StreetAddress, Address/City, Address/StateProvince",
    "top": 7
}

Daha fazla bilgi ve örnek için bkz . Jeo-uzamsal arama örneği.

Belge arama

Daha önce açıklanan sorgu formlarının aksine, bu, karşılık gelen dizin araması veya taraması olmadan kimlikle tek bir arama belgesi alır. Yalnızca bir belge istenir ve döndürülür. Kullanıcı arama sonuçlarında bir öğe seçtiğinde, belgeyi almak ve alanlarla bir ayrıntılar sayfası oluşturmak tipik bir yanıttır ve belge araması bunu destekleyen işlemdir.

Gelişmiş arama: belirsiz, joker karakter, yakınlık, regex

Gelişmiş sorgu formu, Tam Lucene ayrıştırıcısı ve belirli bir sorgu davranışını tetikleyen işleçlere bağlıdır.

Sorgu türü Kullanım Örnekler ve daha fazla bilgi
Alanlı arama search Parametre queryType=full Tek bir alanı hedefleyen bileşik bir sorgu ifadesi oluşturun.
Alanlı arama örneği
belirsiz arama search Parametre queryType=full Benzer bir yapıya veya yazım denetimine sahip terimlere göre eşleşir.
Benzer arama örneği
yakınlık araması search Parametre queryType=full Belgede birbirine yakın terimleri bulur.
Yakınlık arama örneği
terim artırma search Parametre queryType=full Öne çıkarılmış terimi içeren bir belgeyi, içermeyen diğer kişilere göre daha yüksek dereceler.
Terim artırma örneği
normal ifade araması search Parametre queryType=full Normal ifadenin içeriğine göre eşleşir.
Normal ifade örneği
joker karakter veya ön ek araması search parametresi *~ veya ?ile queryType=full Ön ek ve tilde () veya tek karaktere (~?) göre eşleşir.
Joker karakter arama örneği

Sonraki adımlar

Sorgu uygulamasına daha yakından bakmak için her söz dizimi için örnekleri gözden geçirin. Tam metin aramada yeniyseniz, sorgu altyapısının ne yaptığına daha yakından bakmak eşit derecede iyi bir seçim olabilir.