対話Webサービス・リクエストのSearchAdjustmentConfigタイプを使用して、問合せで自動スペル修正および提案される修正(もしかして)の情報を取得できます。
データ・ドメインでスペルが有効になっており、対話Webサービス・レスポンスにスペル修正とスペル提案(DYM)に関する補足情報を含める場合は、SearchAdjustmentConfigタイプが必要です。これが含まれる場合、スペル修正やDYMの提案は、レスポンスの一部として返されます。
スペルが有効になっている場合、SearchAdjustmentConfigタイプが含まれない場合でも、スペルの自動修正が行われることを認識しておくことが重要です。ただし、スペル修正が行われても、スペル修正とDYMの提案はレスポンスで返されません。
<SearchAdjustmentConfig Id="?"> <StateName>?</StateName> </SearchAdjustmentConfig>属性の意味は次のとおりです。
属性 | 意味 |
---|---|
Id | この構成の任意の識別子を提供する必須属性。 |
StateName | 次のルールを使用して、リクエストで既存の名前付きの状態を指定します。
|
<Request xmlns="http://www.endeca.com/MDEX/conversation/3/0"> <State> <TextSearchFilter Key="Flavors" Mode="AllPartial" EnableSnippeting="false" Language="en">pech</TextSearchFilter> </State> <RecordListConfig Id="RecList" MaxPages="10"> <Column>Flavors</Column> <RecordsPerPage>5</RecordsPerPage> </RecordListConfig> <SearchAdjustmentConfig Id="SpellCorrect"/> </Request>
この例では、単語peachがpechとスペルミスされていることに注意してください。
<cs:SearchAdjustments Id="SpellCorrect"> <cs:AppliedAdjustment> <cs:TextSearchFilter Key="Flavors" Mode="AllPartial">pech</cs:TextSearchFilter> <cs:AdjustedTerms>peach</cs:AdjustedTerms> </cs:AppliedAdjustment> </cs:SearchAdjustments>
SearchAdjustmentsレスポンスのAppliedAdjustmentのAdjustedTerms要素には、自動的に修正された単語peachが含まれます。要素(AppliedAdjustment)の名前は、修正されたスペルが自動的に問合せに適用されたことを示し、その修正が結果(この例では2593レコード)に反映されます。
<cs:SearchAdjustments Id="SpellCorrect"> <cs:SuggestedAdjustment RecordCountIfApplied="2593"> <cs:TextSearchFilter Key="Flavors" Mode="AllPartial">pechr</cs:TextSearchFilter> <cs:SuggestedTerms>peach</cs:SuggestedTerms> </cs:SuggestedAdjustment> </cs:SearchAdjustments>
要素(SuggestedAdjustment)の名前は、その単語が単なるDYMの提案であり、問合せに適用されなかったことを示します。RecordCountIfApplied要素は、その提案を適用すると2593レコードが返されることを示しています。それらのレコードを取得するには、提案された単語peachを検索語としてレコード検索問合せを再送信します。