ファセット フィルタリングのリファレンス

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

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

facetsをフィルタリングするには、facet.types.filterオブジェクトを使用します。ANDフィルタリングとORフィルタリングのどちらを実行するか、このファセットの値を他のfacetsのフィルタに基づいて動的に変更するかどうか、複雑なネストされたフィルタを使用するかどうかなどを指定できます。さまざまなファセットフィルタリングを示す ユースケースとサンプルコール を参照してください。

このトピックは、search.facet.types.filter.valuesオブジェクトに固有です。一般的なファセットフィルタリングのリファレンスについては、Search and Recommendationの詳細なAPIリファレンスを参照してください。

次の表に、search.facet.types.filter.valuesオブジェクトが取得できるキーを示します。

種類

形容

価値

values

array of strings

array of filter objects

必須。

このファセットのフィルターの詳細。

ファセットIDによる単純なファセット フィルター処理を行うには、文字列の配列を渡します。

たとえば、lte (以下以下)、geoDistancenotなどのoperatorsを使用して複雑なファセット フィルタリングを行うには、オブジェクトの配列を渡します。

単純なファセットフィルタリングの場合:

"values": ["facet_id123", "facet_id456", "facet_id789"]

複雑なファセットフィルタリングの場合:

{
   "type": "and",
   "filters": [
      {
         "type": "lte",
         "value": "1000"
      },
      {
         "type": "gte",
         "value": "200"
      },
      {
         "type": "not",
         "filter": {
            "type": "eq",
            "value": "350"
         }
      }
   ]
}

単純なファセットフィルタリング

ファセットIDによる単純なファセット フィルタリングを行うには、文字列の配列をsearch.facet.types.filter.valuesキーの値として渡します。Filtering facetsFiltering a term facetセクションには、サンプル呼び出しがあります。

次の表は、search.facet.types.filter.valuesオブジェクトがarray of strings型の場合に必要なキーを示しています。

種類

形容

values

array of strings

随意。文字列の配列を渡します。

フィルター処理するファセットIDの配列。

ファセットIDのみを渡します。ファセット値を渡さないでください。

例えば:

"values": ["facet_id123", "facet_id456", "facet_id789"]

複雑なファセットフィルタリング

たとえば、lte (以下以下)、geoDistancenotなどのoperatorsを使用して複雑なファセット フィルタリングを行うには、フィルター オブジェクトの配列をsearch.facet.types.filter.valuesキーの値として渡します。Filtering facetsUsing complex facet filtersセクションには、サンプル呼び出しがあります。

次の表は、search.facet.types.filter.valuesオブジェクトがarray of filter objects型の場合に取るキーを示しています。

種類

形容

values

次の型のオブジェクトの配列:

使用するファセットフィルタリングオブジェクト。

オブジェクトのフィルター処理

およびファセットフィルターオブジェクト

結果を得るためにすべて一致する必要があるネストされたファセットフィルターを追加するには、andファセットフィルターオブジェクトを使用します。このファセット フィルター オブジェクトは再帰的です。

次の表に、andファセット フィルター オブジェクトが受け取るキーを示します。

種類

形容

type

string

必須。

andに設定します。

ファセットフィルターオブジェクトの演算子。

filters

次の型のオブジェクトの配列:

必須。

ファセットフィルターオブジェクトまたはファセットIDの配列。すべてのオブジェクトのフィルタリング条件を満たす必要があります。

たとえば、ltegte、およびnotファセットフィルターオブジェクトをandファセットフィルターオブジェクト内にネストします。これを行う際に、金額より大きい、金額より小さい、および金額に等しくないという条件を満たす結果を要求します。

ファセットフィルターオブジェクトandサンプルを次に示します。

{
   "type": "and",
   "filters": [
      {
         "type": "lte",
         "value": "1000"
      },
      {
         "type": "gte",
         "value": "200"
      },
      {
         "type": "not",
         "filter": {
            "type": "eq",
            "value": "350"
         }
      }
   ]
}

anyOfファセット・フィルタ・オブジェクト

任意の値に一致する結果を取得するには、anyOfファセット フィルター オブジェクトを使用します。

次の表に、anyOfファセット フィルター オブジェクトが受け取るキーを示します。

種類

形容

type

string

必須。

anyOfに設定します。

ファセットフィルターオブジェクトの演算子。

values

string値またはnumber値の配列

必須。

フィルター処理の基準となるファセット値で、結果を取得するために一致させることができます。

ファセット値のみを渡します。ファセットIDを渡さないでください。値は、フィルターが適用される属性のタイプである必要があります。

ファセットフィルターオブジェクトanyOfサンプルを次に示します。

{
   "type": "anyOf",
   "values": [
      "History",
      "Science Fiction",
      "Classics"
   ]
}

allOfファセットフィルターオブジェクト

指定されたすべての値に一致する結果を取得するには、allOfファセット フィルター オブジェクトを使用します。

次の表に、allOfファセット フィルター オブジェクトが受け取るキーを示します。

種類

形容

type

string

必須。

allOfに設定します。

ファセットフィルターオブジェクトの演算子。

values

string値またはnumber値の配列

必須。

フィルタリングするファセット値で、結果を得るにはすべてのファセット値が一致する必要があります。

ファセット値のみを渡します。ファセットIDを渡さないでください。値は、フィルターが適用される属性のタイプと一致する必要があります。

EQファセット フィルター オブジェクト

特定の値に一致する結果を取得するには、eqファセット フィルター オブジェクトを使用します。

次の表に、eqファセット フィルター オブジェクトが受け取るキーを示します。

種類

形容

type

string

必須。

eqに設定します。

ファセットフィルターオブジェクトの演算子。

value

string又は number

必須。

結果を取得するために一致する必要があるファセット値。

ファセット値のみを渡します。ファセットIDを渡さないでください。値は、フィルターが適用される属性のタイプである必要があります。

ファセットフィルターオブジェクトeqサンプルを次に示します。

{
   "type": "eq",
   "value": "Science Fiction"
}

geoDistanceファセット フィルター オブジェクト

定義した円形領域内で結果を取得するには、geoDistanceファセットフィルターオブジェクトを使用します。

次の表に、geoDistanceファセット フィルター オブジェクトが受け取るキーを示します。

種類

形容

type

string

必須。

geoDistanceに設定します。

ファセットフィルターオブジェクトの演算子。

distance

string

必須。

Searchで適切なcontent itemsを検索する円形の地理的領域の半径。

数値の後に距離の単位を入力します。スペースは追加しないでください。たとえば、「 8.6ft 」または「 86km」と入力します。

サポートされているユニットは次のとおりです。

  • in (インチ)

  • ft (足)

  • yd (ヤード)

  • mi (マイル)

  • nmi (海里)

  • km (キロメートル)

  • m (メートル)

  • cm (センチメートル)

  • mm (ミリメートル)

lat

number

訪問者の位置の緯度。 latlonを組み合わせて、結果をフィルター処理する円の中心を定義します。

10進数 (DD) 形式を使用します。スペースは使用しないでください。

たとえば、-77.0089を渡します。

ここで値を指定しない場合、Searchはgeo context objectで緯度値を検索します。 geo context objectがない場合、Search訪問者のIPアドレスからおおよその緯度を推測します。

lon

number

訪問者の位置の経度。 latlonを組み合わせて、結果をフィルター処理する円の中心を定義します。

10進数 (DD) 形式を使用します。スペースは使用しないでください。

たとえば、-120.0017を渡します。

ここで値を指定しない場合、Searchはgeo context objectで緯度値を検索します。 geo context objectがない場合、Search訪問者のIPアドレスからおおよその緯度を推測します。

ファセットフィルターオブジェクトgeoDistanceサンプルを次に示します。

{
   "type": "geoDistance",
   "distance": "50km",
   "lat": -59.11309610169502,
   "lon": -37.329354589260596
}

geoWithinファセット フィルター オブジェクト

定義された多角形領域内で結果を取得するには、geoWithinファセットフィルターオブジェクトを使用します。

次の表に、geoWithinファセット フィルター オブジェクトが受け取るキーを示します。

種類

形容

type

string

必須。

geoWithinに設定します。

ファセットフィルターオブジェクトの演算子。

coordinates

coordinatesオブジェクトの配列。

Searchが結果を検索する多角形領域を形成する座標。

このオブジェクトのlatキーとlonキーは、ポリゴンの1つの頂点を定義します。たとえば、4つの頂点を定義すると、Searchは4辺の領域を作成して、その中の結果をフィルタします。

少なくとも3つの点を定義します。

coordinates オブジェクト

ポリゴン領域を作成するSearchに少なくとも3つのcoordinatesオブジェクトを渡します。

次の表に、coordinatesオブジェクトが受け取るキーを示します。

種類

形容

lat

number

Searchで結果を検索する多角形領域の頂点の緯度。

10進数 (DD) 形式を使用します。スペースは使用しないでください。

たとえば、-77.0089を渡します。

lon

number

Searchで結果を検索する多角形領域の頂点の経度。

10進数 (DD) 形式を使用します。スペースは使用しないでください。

たとえば、-120.0017を渡します。

ファセットフィルターオブジェクトgeoWithinサンプルを次に示します。

{
   "type": "geoWithin",
   "coordinates": [
      {
         "lat": 43.194852,
         "lon": -79.570522
      },
      {
         "lat": 43.176515,
         "lon": -79.929493
      },
      {
         "lat": 43.521512,
         "lon": -79.912504
      },
      {
         "lat": 43.871014,
         "lon": -78.780655
      }
   ]
}

GTファセット フィルター オブジェクト

特定の値よりも大きい結果を取得するには、gtファセット フィルター オブジェクトを使用します。このファセットフィルターオブジェクトは、ヒストグラムfacetsでのみ使用できます。

次の表に、gtファセット フィルター オブジェクトが受け取るキーを示します。

種類

形容

type

string

必須。

gtに設定します。

ファセットフィルターオブジェクトの演算子。

value

string又は number

必須。

より大きい結果を得るためのしきい値として使用するファセット値。

ファセット値のみを渡します。ファセットIDを渡さないでください。

ファセットフィルターオブジェクトgtサンプルを次に示します。

{
   "type": "gt",
   "value": 999
}

GTEファセット フィルター オブジェクト

特定の値以上の結果を取得するには、gteファセット フィルター オブジェクトを使用します。このファセットフィルターオブジェクトは、ヒストグラムfacetsでのみ使用できます。

次の表に、gteファセット フィルター オブジェクトが受け取るキーを示します。

種類

形容

type

string

必須。

gteに設定します。

ファセットフィルターオブジェクトの演算子。

value

string又は number

必須。

それ以上の結果を得るためのしきい値として使用するファセット値。

ファセット値のみを渡します。ファセットIDを渡さないでください。

ファセットフィルターオブジェクトgteサンプルを次に示します。

{
   "type": "gte",
   "value": 1000
}

ファセットフィルターオブジェクト

特定の値より小さい結果を得るには、ltファセット フィルター オブジェクトを使用します。このファセットフィルターオブジェクトは、ヒストグラムfacetsでのみ使用できます。

次の表に、ltファセット フィルター オブジェクトが受け取るキーを示します。

種類

形容

type

string

必須。

ltに設定します。

ファセットフィルターオブジェクトの演算子。

value

string又は number

必須。

より小さい結果を得るためのしきい値として使用するファセット値。

ファセット値のみを渡します。ファセットIDを渡さないでください。

ファセットフィルターオブジェクトltサンプルを次に示します。

{
   "type": "lt",
   "value": 1000
}

LTEファセット フィルター オブジェクト

特定の値以下の結果を得るには、lteファセットフィルターオブジェクトを使用します。このファセットフィルターオブジェクトは、ヒストグラムfacetsでのみ使用できます。

次の表に、lteファセット フィルター オブジェクトが受け取るキーを示します。

種類

形容

type

string

必須。

lteに設定します。

ファセットフィルターオブジェクトの演算子。

value

string又は number

必須。

以下の結果を取得するためのしきい値として使用する値。

ファセット値のみを渡します。ファセットIDを渡さないでください。

ファセットフィルターオブジェクトlteサンプルを次に示します。

{
   "type": "lte",
   "value": 999
}

ファセットなしフィルターオブジェクト

ネストされたファセット フィルターを追加するには、結果を取得するために一致する必要はない、notファセット フィルター オブジェクトを使用します。このファセット フィルター オブジェクトは再帰的です。

次の表に、notファセット フィルター オブジェクトが受け取るキーを示します。

種類

形容

type

string

必須。

notに設定します。

ファセットフィルターオブジェクトの演算子。

filter

次の型のObjectまたは文字列ファセットID

必須。

ファセットフィルターオブジェクトまたは文字列ファセットID。

ファセットフィルターオブジェクトnotサンプルを次に示します。

{
   "type": "not",
   "filter":"facet_id123"
}

またはファセットフィルターオブジェクト

結果を得るために一致する必要があるネストされたファセットフィルターを追加するには、orファセットフィルターオブジェクトを使用します。このファセット フィルター オブジェクトは再帰的です。

次の表に、orファセット フィルター オブジェクトが受け取るキーを示します。

種類

形容

type

string

必須。

orに設定します。

ファセットフィルターオブジェクトの演算子。

filters

次の型のオブジェクトの配列:

必須。

ファセットフィルターオブジェクトまたは文字列ファセットIDの配列。少なくとも1つのオブジェクトまたはファセットIDのフィルタリング条件を満たす必要があります。

たとえば、ltegte、およびeqファセットフィルターオブジェクトをorファセットフィルターオブジェクト内にネストします。これを行う際に、金額より大きい、金額より小さい、または金額に等しいという条件を満たす結果を要求します。

ファセットフィルターオブジェクトorサンプルを次に示します。

{
   "type": "or",
   "filters": [
      {
         "type": "lte",
         "value": "150"
      },
      {
         "type": "gte",
         "value": "350"
      },
      {
         "type": "eq",
         "value": "200"
      }
   ]
}
この記事を改善するための提案がある場合は、 お知らせください!