Azure Bilişsel Arama-sık sorulan sorular (SSS)Azure Cognitive Search - frequently asked questions (FAQ)

Azure Bilişsel Arama ile ilgili kavramlar, kod ve senaryolar hakkında sık sorulan soruların yanıtlarını bulun.Find answers to commonly asked questions about concepts, code, and scenarios related to Azure Cognitive Search.

PlatformPlatform

Azure Bilişsel Arama, DBMS 'imde tam metin aramasından farklı midir?How is Azure Cognitive Search different from full text search in my DBMS?

Azure Bilişsel Arama birden çok veri kaynağını, birçok dil için dil analizini, ilginç ve olağandışı veri girişlerinin özel analizini, Puanlama profilleriaracılığıyla arama derecelendirme denetimleri ve Kullanıcı deneyimini destekler typeahead, isabet vurgulama ve çok yönlü gezinme gibi özellikler.Azure Cognitive Search supports multiple data sources, linguistic analysis for many languages, custom analysis for interesting and unusual data inputs, search rank controls through scoring profiles, and user-experience features such as typeahead, hit highlighting, and faceted navigation. Ayrıca, eş anlamlılar ve zengin sorgu söz dizimi gibi diğer özellikleri de içerir, ancak bunlar genellikle özellikleri farklılaştırmaz.It also includes other features, such as synonyms and rich query syntax, but those are generally not differentiating features.

Azure Bilişsel Arama ve Elakıa araması arasındaki fark nedir?What is the difference between Azure Cognitive Search and Elasticsearch?

Arama teknolojilerini karşılaştırırken, müşteriler, Azure Bilişsel Arama 'nin Elau araması ile nasıl Karşılaştırıldığı hakkında daha fazla ayrıntı ister.When comparing search technologies, customers frequently ask for specifics on how Azure Cognitive Search compares with Elasticsearch. Önemli bir görevi daha kolay hale yaptığımız veya diğer Microsoft teknolojileriyle yerleşik tümleştirmeye gerek duyduğumuz için, Azure Bilişsel Arama, arama uygulaması projelerine yönelik olarak Azure 'yi seçen müşteriler genellikle bunu yaptı.Customers who choose Azure Cognitive Search over Elasticsearch for their search application projects typically do so because we've made a key task easier or they need the built-in integration with other Microsoft technologies:

  • Azure Bilişsel Arama,% 99,9 hizmet düzeyi sözleşmeleri (SLA) ile tam olarak yönetilen bir bulut hizmetidir (okuma erişimi için 2 çoğaltma, okuma-yazma için üç çoğaltma).Azure Cognitive Search is a fully managed cloud service with 99.9% service level agreements (SLA) when provisioned with sufficient redundancy (2 replicas for read access, three replicas for read-write).
  • Microsoft 'un doğal dil işlemcileri önde gelen Edge dil analizi sunar.Microsoft's Natural language processors offer leading edge linguistic analysis.
  • Azure bilişsel arama Dizin oluşturucular , ilk ve artımlı dizin oluşturma Için çeşitli Azure veri kaynaklarına gezinebilirler.Azure Cognitive Search indexers can crawl a variety of Azure data sources for initial and incremental indexing.
  • Sorgu veya dizin oluşturma birimlerindeki dalgalanmalara hızlı yanıt almanız gerekiyorsa Azure portal kaydırıcı denetimlerini kullanabilir veya bir PowerShell betiğiçalıştırarak doğrudan yönetimi doğrudan atlayarak yönetebilirsiniz.If you need rapid response to fluctuations in query or indexing volumes, you can use slider controls in the Azure portal, or run a PowerShell script, bypassing shard management directly.
  • Puanlama ve ayarlama özellikleri , arama altyapısının tek başına sağlayabildiklerinin ötesinde, arama sıra puanlarını etkileyen yolları sağlar.Scoring and tuning features provide the means for influencing search rank scores beyond what the search engine alone can provide.

Azure Bilişsel Arama hizmetini duraklatabilir ve faturalandırmayı durdurabilir miyim?Can I pause Azure Cognitive Search service and stop billing?

Hizmeti duraklatırsınız.You cannot pause the service. Hesaplama ve depolama kaynakları, hizmet oluşturulduğunda özel kullanım için ayrılır.Computational and storage resources are allocated for your exclusive use when the service is created. Bu kaynakları isteğe bağlı olarak serbest bırakmak ve geri kazanmak mümkün değildir.It's not possible to release and reclaim those resources on-demand.

Dizin oluşturma IşlemleriIndexing Operations

Dizinleri veya dizin anlık görüntülerini taşıyın, yedekleyin ve geri yükleyinMove, backup, and restore indexes or index snapshots?

Geliştirme aşamasında, dizininizi arama hizmetleri arasında taşımak isteyebilirsiniz.During the development phase, you may want to move your index between search services. Örneğin, dizininizin geliştirilmesi için temel veya ücretsiz bir fiyatlandırma katmanı kullanabilir ve daha sonra üretim kullanımı için standart veya daha yüksek bir katmana taşımak isteyebilirsiniz.For example, you may use a Basic or Free pricing tier to develop your index, and then want to move it to the Standard or higher tier for production use.

Ya da, daha sonra geri yüklemek için kullanılabilecek dosyalara bir dizin anlık görüntüsü yedeklemek isteyebilirsiniz.Or, you may want to backup an index snapshot to files that can be used to restore it later.

Bu Azure bilişsel arama .NET örnek deposu' nda Dizin-yedekleme-geri yükleme örnek kodu ile her şeyi yapabilirsiniz.You can do all these things with the index-backup-restore sample code in this Azure Cognitive Search .NET sample repo.

Azure Bilişsel Arama REST API kullanarak istediğiniz zaman bir dizin tanımı da alabilirsiniz .You can also get an index definition at any time using the Azure Cognitive Search REST API.

Şu anda Azure portal yerleşik Dizin ayıklama, anlık görüntü veya yedekleme-geri yükleme özelliği yoktur.There is currently no built-in index extraction, snapshot, or backup-restore feature in the Azure portal. Bununla birlikte, yedekleme ve geri yükleme işlevlerini gelecek bir sürüme eklemeyi düşünüyoruz.However, we are considering adding the backup and restore functionality in a future release. Bu özellik için desteğiniz gösterilmesini istiyorsanız, Kullanıcı sesinebir oy atayın.If you want show your support for this feature, cast a vote on User Voice.

Dizin veya hizmetmi silindikten sonra geri yükleyebilir miyim?Can I restore my index or service once it is deleted?

Hayır, bir Azure Bilişsel Arama dizini veya hizmeti silerseniz, bu, kurtarılamaz.No, if you delete an Azure Cognitive Search index or service, it cannot be recovered. Bir Azure Bilişsel Arama hizmetini sildiğinizde, hizmette bulunan tüm dizinler kalıcı olarak silinir.When you delete an Azure Cognitive Search service, all indexes in the service are deleted permanently. Bir veya daha fazla Azure Bilişsel Arama hizmeti içeren bir Azure kaynak grubunu silerseniz, tüm hizmetler kalıcı olarak silinir.If you delete an Azure resource group that contains one or more Azure Cognitive Search services, all services are deleted permanently.

Dizinler, Dizin oluşturucular, veri kaynakları ve becerileri gibi kaynakların yeniden oluşturulması, bunları koddan yeniden oluşturmanızı gerektirir.Recreating resources such as indexes, indexers, data sources, and skillsets requires that you recreate them from code.

Bir dizini yeniden oluşturmak için dış kaynaklardaki verileri yeniden dizinetmeniz gerekir.To recreate an index, you must re-index data from external sources. Bu nedenle, Azure SQL veritabanı veya Cosmos DB gibi başka bir veri deposunda orijinal verilerin bir ana kopyasını veya yedeklemesini tutmanız önerilir.For this reason, it is recommended that you retain a master copy or backup of the original data in another data store, such as Azure SQL Database or Cosmos DB.

Alternatif olarak, bir dizin tanımını ve dizin anlık görüntüsünü bir dizi JSON dosyasına yedeklemek için bu Azure bilişsel arama .NET örnek kodundaki Dizin-yedekleme-geri yükleme örnek kodunu kullanabilirsiniz.As an alternative, you can use the index-backup-restore sample code in this Azure Cognitive Search .NET sample repo to back up an index definition and index snapshot to a series of JSON files. Daha sonra, gerekirse, dizini geri yüklemek için aracını ve dosyalarını kullanabilirsiniz.Later, you can use the tool and files to restore the index, if needed.

SQL veritabanı Çoğaltmalarından dizin oluşturabilir miyim ( Azure SQL veritabanı Dizin oluşturuculariçin geçerlidir)Can I index from SQL database replicas (Applies to Azure SQL Database indexers)

Sıfırdan bir dizin oluştururken bir veri kaynağı olarak birincil veya ikincil çoğaltmaların kullanılmasına yönelik bir kısıtlama yoktur.There are no restrictions on the use of primary or secondary replicas as a data source when building an index from scratch. Ancak, artımlı güncelleştirmeler (değiştirilen kayıtlara göre) ile bir dizini yenilemek, birincil çoğaltmayı gerektirir.However, refreshing an index with incremental updates (based on changed records) requires the primary replica. Bu gereksinim yalnızca birincil çoğaltmalarda değişiklik izlemeyi garanti eden SQL veritabanından gelir.This requirement comes from SQL Database, which guarantees change tracking on primary replicas only. Bir dizin yenileme iş yükü için ikincil çoğaltmaları kullanmayı denerseniz, tüm verileri alacağınız garanti yoktur.If you try using secondary replicas for an index refresh workload, there is no guarantee you get all of the data.

Işlemleri araSearch Operations

Birden çok dizin arasında arama yapabilir miyim?Can I search across multiple indexes?

Hayır, bu işlem desteklenmiyor.No, this operation is not supported. Arama her zaman tek bir dizine eklenir.Search is always scoped to a single index.

Kullanıcı kimliğine göre arama dizini erişimini kısıtlayabilirim miyim?Can I restrict search index access by user identity?

search.in() filtresiyle Güvenlik filtreleri uygulayabilirsiniz.You can implement security filters with search.in() filter. Filtre, arama sonuçlarını tanımlanan Kullanıcı grubu üyeliğine göre kırpmak için Azure Active Directory (AAD) gibi kimlik yönetimi hizmetleri ile iyi bir bileşim sağlar.The filter composes well with identity management services like Azure Active Directory(AAD) to trim search results based on defined user group membership.

Neden geçerli olduğunu bildiğiniz koşullarda hiç sıfır eşleşme var mı?Why are there zero matches on terms I know to be valid?

En yaygın durum, her bir sorgu türünün farklı arama davranışlarını ve dil analizlerinin düzeylerini desteklediğini bilmektir.The most common case is not knowing that each query type supports different search behaviors and levels of linguistic analyses. Baskın iş yükü olan tam metin araması, kök formlara koşulları kesen bir dil analizi aşaması içerir.Full text search, which is the predominant workload, includes a language analysis phase that breaks down terms to root forms. Bu sorgu ayrıştırma özelliği, belirteçlerin çok sayıda çeşitle eşleştiğinden, olası eşleşmelerin daha geniş bir kısmını yayınlar.This aspect of query parsing casts a broader net over possible matches, because the tokenized term matches a greater number of variants.

Ancak, joker karakter, benzer ve Regex sorguları, normal terim veya tümcecik sorguları gibi çözümlenmez ve sorgu, arama dizininde bulunan sözcüğün çözümlenme formuyla eşleşmezse kötü bir geri aramaya yol açabilir.Wildcard, fuzzy and regex queries, however, aren't analyzed like regular term or phrase queries and can lead to poor recall if the query does not match the analyzed form of the word in the search index. Sorgu ayrıştırma ve çözümleme hakkında daha fazla bilgi için bkz. sorgu mimarisi.For more information on query parsing and analysis, see query architecture.

Joker karakter aramalarım yavaş.My wildcard searches are slow.

Önek, benzer ve Regex gibi çoğu joker karakter arama sorguları, arama dizininde eşleşen koşullara göre dahili olarak yeniden yazılır.Most wildcard search queries, like prefix, fuzzy and regex, are rewritten internally with matching terms in the search index. Arama dizinini taramanın bu ek işlemesi gecikme süresine eklenir.This extra processing of scanning the search index adds to latency. Daha fazla terim a* gibi büyük arama sorguları çok daha yavaş olabilir.Further, broad search queries, like a* for example, that are likely to be rewritten with many terms can be very slow. Performanslı joker karakter aramaları için özel bir çözümleyicitanımlamayı düşünün.For performant wildcard searches, consider defining a custom analyzer.

Arama neden her isabet için bir sabit veya eşit puanı 1,0 olarak derecelendirmelidir?Why is the search rank a constant or equal score of 1.0 for every hit?

Varsayılan olarak, arama sonuçları, eşleşen koşulların istatistiksel özelliklerinegöre puanlanır ve sonuç kümesinde yüksek ile düşük sıralanır.By default, search results are scored based on the statistical properties of matching terms, and ordered high to low in the result set. Ancak, bazı sorgu türleri (joker karakter, ön ek, Regex) her zaman genel belge puanına bir sabit puanı katkıda bulunur.However, some query types (wildcard, prefix, regex) always contribute a constant score to the overall document score. Bu davranış tasarım gereğidir.This behavior is by design. Azure Bilişsel Arama, sorgu genişletmesi aracılığıyla bulunan eşleşmelerin, derecelendirmeyi etkilemeden, sonuçlara dahil edilmesini sağlamak için sabit bir puan uygular.Azure Cognitive Search imposes a constant score to allow matches found through query expansion to be included in the results, without affecting the ranking.

Örneğin, joker karakter aramasında "Tur" girişinin "turları", "touretes" ve "Tourmaline" ile eşleşmeleri olduğunu varsayalım.For example, suppose an input of "tour*" in a wildcard search produces matches on “tours”, “tourettes”, and “tourmaline”. Bu sonuçların doğası göz önüne alındığında, hangi koşulların diğerlerinden daha değerli olduğunu makul bir şekilde çıkarmanın bir yolu yoktur.Given the nature of these results, there is no way to reasonably infer which terms are more valuable than others. Bu nedenle, Puanlama joker karakter, ön ek ve normal ifade türündeki sorgularda sonuçladığı zaman terim sıklıklarını yok saydık.For this reason, we ignore term frequencies when scoring results in queries of types wildcard, prefix, and regex. Kısmi girişe dayalı arama sonuçlarına, beklenmedik potansiyel eşleşmelerin önüne geçmek için sabit bir puan verilir.Search results based on a partial input are given a constant score to avoid bias towards potentially unexpected matches.

Tasarım desenleriDesign patterns

Çoğu müşteri, aynı dizinde farklı yerel ayarları (diller) desteklemeye geldiğinde bir koleksiyon üzerinde adanmış alanlar seçer.Most customers choose dedicated fields over a collection when it comes to supporting different locales (languages) in the same index. Yerel ayara özgü alanlar, uygun bir çözümleyici atanmasını olanaklı kılar.Locale-specific fields make it possible to assign an appropriate analyzer. Örneğin, Microsoft Fransızca Çözümleyicisi 'ni Fransızca dizeleri içeren bir alana atama.For example, assigning the Microsoft French Analyzer to a field containing French strings. Ayrıca filtrelemeyi basitleştirir.It also simplifies filtering. Bir fr-fr sayfasında bir sorgunun başlatıldığını biliyorsanız, arama sonuçlarını bu alanla sınırlayabilirsiniz.If you know a query is initiated on a fr-fr page, you could limit search results to this field. Veya alana daha fazla ağırlık sağlamak için bir Puanlama profili oluşturun.Or, create a scoring profile to give the field more relative weight. Azure Bilişsel Arama, arasından seçim yapmak için 50 ' den fazla dil Çözümleyicileri destekler.Azure Cognitive Search supports over 50 language analyzers to choose from.

Sonraki adımlarNext steps

Sorunuz, eksik bir özellik veya işlevlerle ilgili mi?Is your question about a missing feature or functionality? Özelliği Kullanıcı Voice Web sitesindeisteyin.Request the feature on the User Voice web site.

Ayrıca bkz.See also

StackOverflow: Azure Bilişsel Arama StackOverflow: Azure Cognitive Search
Tam metin aramasının Azure 'da nasıl çalıştığı Bilişsel AramaHow full text search works in Azure Cognitive Search
Azure Bilişsel Arama nedir?What is Azure Cognitive Search?