1. Search開発者

フィルターオブジェクト

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

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

Sitecore Searchには、結果をフィルタリングするさまざまな方法が用意されています。多くのプロパティを使用して、フィルター オブジェクトで結果を定義および絞り込むことができます。フィルターがWidgetRequestに追加されます。フィルターには、次のセクションに示すように、比較フィルター、ロジック演算子フィルター、およびリストフィルターの3種類があります。各セクションには、要求に追加できるフィルターオブジェクトが一覧表示されます。

比較フィルター

すべての検索クエリは、ウィジェットをエンティティに関連付けます。このフィルターを使用して、エンティティの属性と値を比較します。これらのフィルターの1つをインスタンス化するには、属性の名前と比較値を指定します。

const filterLessThan = new FilterLessThan ( "numOfWords", 1000 );
const filterLessOrEqualThan = new FilterLessOrEqualThan ( "durationInMinutes", 70 );
const filterEqual = new FilterEqual ( "title", "Introduction" );
const filterGreaterThan = new FilterGreaterThan ( "numOfWords", 400 );
const filterGreaterOrEqualThan = new FilterGreaterOrEqualThan ( "numOfWords", 400);

const widgetRequest = new WidgetRequest("rfkid_7");
const filterGreaterThan = new FilterGreaterThan ( "durationInMinutes", 2 );
widgetRequest.setSearchFilter ( Filter )

ロジック演算子フィルター

このフィルターを使用して、いくつかのロジックに基づいて複数のフィルターをオプションとして提供します。これらのフィルターの1つをインスタンス化するには、次のコード ブロックに示すように、フィルターの配列を指定します。

const filterLessOrEqualThan = new FilterLessOrEqualThan ( "durationInMinutes", 70 );
const filterEqual = new FilterEqual ( "title", "Introduction" );

const filterOr = new FilterOr ( [ new FilterLessThan ( "numOfWords", 400 ), new FilterGreaterThan ( "numOfWords", 1000 ) ] );
const filterAnd = new FilterAnd ( [ filterEqual, new FilterLessThan ( "numOfWords", 1000 ) ] );
const filterNot = new FilterNot ( [ filterEqual, filterLessOrEqualThan ]);

リストフィルター

これらのフィルターを使用して、属性に複数の値を使用します。これらのフィルターの1つをインスタンス化するには、次のコード ブロックに示すように、属性名と値の配列を指定します。

const filterAllOf = new FilterAllOf ( "type", [ "video", "film", "audio" ] );
const filterAnyOf = new FilterAnyOf ( "type", [ "video", "film", "audio" ] );

フィルター方法

次のコード ブロックは、フィルター処理に関連し、WidgetRequestオブジェクトを介してアクセスできるさまざまなメソッドの一覧です。

/** search.filter */]
getSearchFilter(): Filter;
setSearchFilter(value: Filter): IWidgetItem;
resetSearchFilter(): IWidgetItem;
この記事を改善するための提案がある場合は、 お知らせください!