レコード検索フィルタ

基本的なレコード検索には、TextSearchFilterタイプが必要です。

次の例では、検索リクエストの構文を示しています。
<TextSearchFilter Key="Prod_Category" RelevanceRankingStrategy="numfields"
   Mode="AllPartial" EnableSnippeting="true" SnippetLength="5" Language="en">
   electronics
</TextSearchFilter>

TextSearchFilterタイプのテキストの内容には、検索語が含まれています。この例では、レコード検索は、Prod_Category標準属性の「electronics」キーワードに対して行われます。

TextSearchFilterタイプの属性の意味は次のとおりです。
検索属性 説明
Key 必須です。検索時に標準属性または管理属性のどちらが評価されるかを指定します。このパラメータに対する値として、属性を指定します。検索インタフェースを値として指定することもできます。
EnableSnippeting オプションです。trueに設定した場合、スニペットを有効化します。falseに設定した場合、スニペットを無効化します。スニペットの詳細は、「レコード検索におけるスニペットの使用」を参照してください。
SnippetLength オプションです。スニペットの長さを指定します。
Mode オプションです。「有効な検索モードのリスト」で説明する一致モードを指定します。指定しない場合、デフォルトはAllです。Boolean一致モードは使用できないことに注意してください。
RelevanceRankingStrategy オプションです。関連性ランキングの方針を指定します。関連性ランキングの詳細は、「関連性ランキング」を参照してください。
Language オプションです。検索の言語コードを指定します。有効な言語コードは、「サポートされる言語」トピックにリストされています。
searchTerm 必須です。検索する1つ以上の語を指定します。各検索語の文字の最大数は、(Endecaコマンドput-dd-profileで)--search-char-limit構成フラグによって設定します(デフォルトは132文字です)。

レコード検索のコレクションの指定

特定のコレクション内のレコードに対して、レコード検索問合せを実行できます。そのためには、Stateタイプの<CollectionName>要素でコレクション名を指定します。

たとえば、次の問合せは、Salesコレクションのレコードを検索します。
<Request>
   <State>
     <Name>MySalesSearch</Name>
     <CollectionName>Sales</CollectionName>
     <TextSearchFilter Key="Prod_Category" RelevanceRankingStrategy="numfields"
        Mode="AllPartial" EnableSnippeting="true" SnippetLength="5" Language="en">
        electronics
     </TextSearchFilter>
   </State>
   <RecordListConfig Id="SalesList" MaxPages="20">
      <StateName>MySalesSearch</StateName>
      <Column>SalesAmount</Column>
      <RecordsPerPage>5</RecordsPerPage>
   </RecordListConfig>
</Request>

この例では、Stateの名前はMySalesSearchで、これによりSalesコレクションを指定しています。同様に、RecordListConfigタイプは、StateName要素を使用してMySalesSearch状態を構成に関連付けています。