Azure Cognitive Searchのサポート参照

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

注意

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

このトピックでは、Azure Cognitive Searchのさまざまなサポートタイプ、クエリサポートやFacetサポートについて言及します。 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以上の文書を含む用語を返します。重要 この機能はクライアント側でのみサポートされているため、パフォーマンス向上のために使用できません。
  • ファセット内の用語数を制限する
    。設定ファイル内の /configuration/sitecore/contentSearch/configuration/indexes/index/セクションにmaxTermsCountInFacetパラメータを追加することで制限を設定できます:
50                

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

この記事を改善するための提案がある場合は、 お知らせください!