---
title: "Azure Cognitive Searchのサポート参照"
slug: "support-reference-for-azure-cognitive-search"
abstract: "Azure Cognitive Searchのサポート参照(クエリサポートおよびFacetサポートを含む)。"
---
# Azure Cognitive Searchのサポート参照

### 注意

Azure SearchはSitecore 10.0以降はサポートされていません。Sitecore 10.2は技術的にAzure Searchが使える最後のバージョンです。Azure Searchは後のバージョンではサポートされず、使用もできません。

このトピックでは、Azure Cognitive Searchのさまざまなサポートタイプ、クエリサポートやFacetサポートについて言及します。 [Walkthrough: Configure Azure Cognitive Search](https://doc.sitecore.com/xp/ja/developers/93/platform-administration-and-architecture/walkthrough--configure-azure-cognitive-search.html "Walkthrough: Configure Azure Cognitive Search")をこのリファレンストピックと組み合わせて活用してください。

## クエリサポート

Sitecore Azure Search LINQからMicrosoft Azure認知Search APIがサポートするクエリへのマッピング機能を提供します。

現在、Azure Cognitive SearchサービスはLuceneとODataの2種類のクエリ構文をサポートしています。

Luceneクエリ構文は以下に使用されます:

-   フィールドスコープクエリ
-   正則表現探索
-   ワイルドカード検索

ODataクエリの構文:

-   intやdateTime,など、検索できないデータ型でシナリオをフィルタリングできます。
-   比較に使われます。
-   コレクションの中に含まれています。
-   単一演算子を使用します。

Sitecore Azure SearchプロバイダーはLuceneで利用可能なほとんどのクエリシナリオをカバーしており、以下は最もよく使われるものです:

-   **クエリシナリオ**: **例**
-   フィールドスコープ検索:

from d in queryable where d.Name.Contains("Sitecore") select d
from d in queryable where d.Name.Like("Sample Item") select d
from d in queryable where d.Name == "Sample Item" select d
from d in queryable where d.Name.Matches("Sample.\*") select d

-   論理演算子( &、 Or、 Not、 Betweenを含む):

from d in queryable where d.Name.Contains("Sitecore") && d.Price > 100 select d
from d in queryable where d.Price.Between(1000, 2000, Inclusion.Both)select d

-   注文:

from d in queryable where d.Name.Like("Sample Item") orderby d.Id select d

-   ブースト:

from d in queryable where d.Name.Like("Sample").Boost(2f) || d.Template.Like("Sample") select d

-   コレクション内での検索:

from d in queryable where d.TemplateIds.Contains(Sitecore.TemplateIDs.Layout) select d

> !重要EDM型のフィールドにはStartsWith, Containsのようなクエリを適用してはいけません。/sitecore/content/homeのようなパスやGUIDの集合を含む文字列。これはAzure認知Search正則表現検索を単一の単語にマッチングするためです。

現在サポートされていない機能には以下が含まれます:

-   例えば、GroupJoin、Join、、SelfJoin.
    
-   LuceneとOData構文の両方の述語を持ち、結合またはオペランドであるクエリ、例えば:
    
    from d in queryable where d.Name.Contains("Sitecore") || (d.Price > 1000) select d)

## ファセットのサポート

Sitecore Azure Search、コンテンツSearch API側面からクエリへのマッピング機能を提供し、Microsoft Azure認知Search APIがサポートするクエリに至ります。

現在サポートされている機能は以下の通りです:

-   **特徴**: **例**
-   ビルドの側面: queryable.FacetOn(x => x.Country).GetFacets()
-   単一のリクエストでビルドの側面を: queryable.FacetOn(x => x.Country).FacetOn(x => x.Brend).FacetOn(x => x.Price).GetFacets()
-   ファセットへのフィルター値: queryable.FacetOn(x => x.Country, null, new {"Denmark", "Germany"}).GetFacets()
-   最小限の文書数で用語を除外する: queryable.FacetOn(x => x.Country, 10).GetFacet()クエリは10以上の文書を含む用語を返します。重要 この機能はクライアント側でのみサポートされているため、パフォーマンス向上のために使用できません。
-   ファセット内の用語数を制限する:プロバイダーはデフォルトで各ファセットで10語を返します。設定ファイル内の /configuration/sitecore/contentSearch/configuration/indexes/index/セクションにmaxTermsCountInFacetパラメータを追加することで制限を設定できます:

<configuration>
 <sitecore search:require="azure">
 <contentSearch>
 <configuration>
 <indexes>
 <index id="sitecore\_sxa\_web\_index">
 <maxTermsCountInFacet>50</maxTermsCountInFacet>
 </index>
                </indexes>
 </configuration>
 </contentSearch>
 </sitecore>
</configuration>

> !注現在、すべてのピボットファセットはサポートされていません。リクエストから除外され無視されています。