このトピックでは、Endeca Server 7.6.xの会話Webサービスにおける変更について説明します。
会話Webサービスはかなりリファクタリングされており、7.5.xの問合せは書き直す必要があります。
Endeca Server 7.5.xの場合と同様に、各要求には(<State>要素で定義する)状態があります。Endeca Server 7.6.xでは、要求には複数(2つ以上)の状態がある場合があります。この場合、各状態には、要求内の他の状態名において一意な(<Name>要素で定義される)名前が必要です。したがって、Endeca Server 7.6.xでは状態に名前が新規にあります。
状態はオプションで<CollectionName>要素を使用して、1つ(のみの)コレクション名を参照できます。
会話サービスの応答には、それを生成した全要求を含まなくなりました。要求の状態のみが返されます。
Endeca Server 7.5.xでは、型を宣言するためにxsi:typeを使用するContentElementConfigが1つありました。Endeca Server 7.6.xではxsi:typeは削除され、configでは(RecordListConfigなど)そのサブクラスの名前を使用するようになりました。また、HandlerFunctionおよびHandlerNamespaceの要素も削除されました。
<ContentElementConfig xsi:type="RecordListConfig" HandlerFunction="RecordListHandler" HandlerNamespace="http://www.endeca.com/MDEX/conversation/2/0" Id="RecordList" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RecordsPerPage>25</RecordsPerPage> <Sort Key="Spec" Direction="Ascending"/> </ContentElementConfig>
<RecordListConfig Id="RecordList"> <RecordsPerPage>25</RecordsPerPage> <Sort Key="Spec" Direction="Ascending"/> </RecordListConfig>
7.5.x LQLConfig configは、EQLConfigに名前変更されたことに注意をしてください。
<Request> <State/> <Operator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="SearchOperator" Within="false"> <SearchFilter Mode="AllPartial" Key="Prod_Category" Language="en"> electronics </SearchFilter> </Operator> ...
<Request> <State> <TextSearchFilter Key="Prod_Category" RelevanceRankingStrategy="numfields" Mode="AllPartial" Language="en"> electronics </TextSearchFilter> </State> ...
7.5.xのDataSourceFilterStringはDataSourceFilterに、またSelectionFilterStringはSelectionFilterに名前変更されています。いずれのフィルタにも、そのフィルタの名前となる新しい(オプションの) Id属性があります。
各フィルタは状態で複数回使用できます(7.5.xでは1度のみ使用可能でした)。複数のフィルタを使用する場合、各フィルタはその状態内において他のフィルタに対して一意である名前が必要です。
7.5.xの場合と同様に、各フィルタではEQL WHERE句構文を使用します。7.6.xでは、複数割当て属性を扱う際に、フィルタ文字列で新しいセット関数を使用することもできます。
(レコード検索に使用する)7.5.xのSearchFilterは、(前述の例のとおり)TextSearchFilterに名前変更されました。
SelectedRefinementFilterおよびRecordKindフィルタの名前は、7.5.xと同一であることに注意してください。