SEARCH_INTERFACE

SEARCH_INTERFACE要素は、Endecaの標準属性および/または管理属性の名前付きコレクションです。

標準属性と管理属性は、SEARCH_INTERFACE内に共存できます。グループ内のEndecaの属性は、MEMBER_NAME要素で指定されます。

標準属性または管理属性がSEARCH_INTERFACE要素に含まれていない場合、標準属性または管理属性と同じ名前で、その単一の標準属性または管理属性を唯一のメンバーとして、暗黙的なSEARCH_INTERFACE要素が作成されます。CROSS_FIELD_RELEVANCE_RANKの値は0に設定されます。

書式

<!ELEMENT SEARCH_INTERFACE
    ( MEMBER_NAME+
    , PARTIAL_MATCH?
    )
>
<!ATTLIST SEARCH_INTERFACE
    NAME				                    CDATA		     	#REQUIRED
    DEFAULT_RELRANK_STRATEGY	   CDATA		     	#IMPLIED
    CROSS_FIELD_RELEVANCE_RANK	 CDATA		     	#IMPLIED
    CROSS_FIELD_BOUNDARY		      (ALWAYS
                                |ON_FAILURE
                                |NEVER)      "NEVER"
    STRICT_PHRASE_MATCH		       (TRUE|FALSE)	#IMPLIED
>

属性

SEARCH_INTERFACE要素には、次の属性があります。

NAME

この検索インタフェースの一意の名前です。

DEFAULT_RELRANK_STRATEGY

レコード検索の場合、デフォルトの関連性スコアリング機能がSEARCH_INTERFACEに割り当てられます。たとえば、検索インタフェースがFlavorsと呼ばれる場合、DEFAULT_RELRANK_STRATEGY属性には、値Flavors_strategyが含まれます。

CROSS_FIELD_RELEVANCE_RANK

クロスフィールド一致の関連性ランク・スコアを指定します。値は、32ビット符号なし整数である必要があります。CROSS_FIELD_RELEVANCE_RANKのデフォルト値は0です。

CROSS_FIELD_BOUNDARY

検索エンジンが、標準属性/管理属性の境界を超えているがSEARCH_INTERFACEのメンバー内である検索問合せへの一致を試行するタイミングを指定します。
  • 値がON_FAILUREに設定されている場合、単一の標準属性/管理属性内で一致の検出に失敗すると、検索エンジンは、標準属性/管理属性の境界を超えて、問合せへの一致の試行のみを行います。
  • 値がALWAYSに設定されている場合、検索エンジンは、標準属性/管理属性内の一致に加えて、標準属性/管理属性の境界を超えて、常に一致を検索します。
  • その値がNEVERに設定されている場合、エンジンは境界を超えて一致を検索しません。これはデフォルトです。

STRICT_PHRASE_MATCH

問合せ内の空白をソース・テキスト内の句読点と比較する際に、Dgraphが問合せを厳密に解釈する必要があることを指定します。FALSEに設定した場合、ソース・テキスト内で句読点によって接続された一部の単語トークンは、一部のトークンが一致句読点ではなく空白で区切られたフレーズ問合せに一致させることができます。この属性のデフォルト値はTRUEです。

サブ要素

次の表は、SEARCH_INTERFACEのサブ要素の簡単な概要を示しています。

サブ要素 簡単な説明
MEMBER_NAME SEARCH_INTERFACEの一部である属性の名前を指定します。
PARTIAL_MATCH この要素を含むSEARCH_INTERFACEで部分問合せ一致をサポートするかどうかを指定します。

次の例では、4つのメンバーを含むAllFieldsと呼ばれる検索インタフェースを確立します。

<SEARCH_INTERFACE CROSS_FIELD_BOUNDARY="ALWAYS" 
      CROSS_FIELD_RELEVANCE_RANK="0" 
      DEFAULT_RELRANK_STRATEGY="All" NAME="AllFields">
   <MEMBER_NAME RELEVANCE_RANK="4">ProductType</MEMBER_NAME>
   <MEMBER_NAME RELEVANCE_RANK="3">ProductName</MEMBER_NAME>
   <MEMBER_NAME RELEVANCE_RANK="2">SalesRegion</MEMBER_NAME>
   <MEMBER_NAME RELEVANCE_RANK="1">Description</MEMBER_NAME>
</SEARCH_INTERFACE>