APIを使用したブール検索の実装

対話Webサービスへのリクエストを使用して、値検索または属性検索を実行する検索リクエスト、または定義済の検索インタフェースに対する検索リクエストに、Boolean検索モードを指定できます。レコードおよび属性のフィルタで、ブール検索を使用することもできます。このトピックには、これらのリクエストの例が記載されています。

属性で検索を使用する前に、レコード検索および/または管理属性値検索のために属性が構成されていることを確認してください。詳細は、「値検索の有効化」を参照してください。

値検索でのブール検索

次の例では、ValueSearchConfigタイプで行われた値検索に、Boolean検索モードが使用されています。
<ValueSearchConfig Id="ValSearch" MaxPerProperty="5" Mode="Boolean" Language="en">
   <StateName>MySearch</StateName>
   <SearchTerm>"Bike Racks" AND "Handlebars"</SearchTerm>
</ValueSearchConfig>

属性フィルタでのブール検索

TextSearchFilterタイプを使用して検索するための属性を設定する場合、検索に使用する一致モードも設定します。検索モードにブール検索を使用するには、一致モードをBooleanに設定します。次の例では、ブール検索を使用するTextSearchFilterを示しています。
<State>
   <Name>MyRecSearch</Name>
   <TextSearchFilter Key="Description" Mode="Boolean" EnableSnippeting="false" 
     Language="en">"peach" AND "apple"</TextSearchFilter>
</State>

検索インタフェースでのブール検索

検索インタフェースに対してブール検索を使用する前に、検索するすべての属性を含む1つ以上の検索インタフェースを構成する必要があります。これを行うには、構成WebサービスのputConfigDocuments操作によって、XML構成ドキュメントRECSEARCH_CONFIGを送信します。Oracle Endeca ServerへのXML構成ドキュメントの送信方法の詳細は、「構成ドキュメントのロード」を参照してください。

これで、定義済の検索インタフェースに対して、単一のブール検索リクエストを作成できます。
<State>
   <Name>MyRecSearch</Name>
   <TextSearchFilter Key="AllSales" Mode="Boolean" EnableSnippeting="false" 
     Language="en">English : one AND Spanish : dos</TextSearchFilter>
</State>