1

膨大な数のレコードを取得するために Endeca を使用しています。Endecaクエリを介してEndecaからフェッチされたレコードを表示するdataTableがフロントエンドにあります。ここで、フロントエンドでチェックボックスの値に基づいて結果をフィルタリングすると、クエリは Nrs 属性を追加し、フィルタリングされた結果を取得します。中国語、ロシア語、または特殊文字については、エンコードしてクエリを作成します。例:

N=0&Ntk=All&Ntx=mode+matchall&Ntt= rumtek &Nrs=collection()/record[(customerName="%22RUMTEK%22+LTD.")]&No=0&Ns= ,Endeca.stratify(collection()/record[not% 20(請求日)])||請求日|1|| ,Endeca.stratify(collection()/record[not%20(invoiceNumber)])||invoiceNumber|1

上記のクエリでは、値 "rumtek" に基づいて結果が取得され、値を ""RUMTEK" LTD." として指定してフィルターを適用します。エンコード後、フィルター値は「%22RUMTEK%22+LTD.」に変換されます。このクエリは結果をフェッチしません。

結果は、完全なエンコードされた用語 (エンコードされた値を与える中国語の単語のように) または任意の英語の単語を指定すると取得されます。二重引用符 (") を含む用語を指定すると、結果は取得されません。たとえば、"ABC" LTD. または AB&C (AB%26C)。

もう 1 つの問題は次のとおりです。AB をストップ ワード (検索されない単語) として作成した場合はどうなるでしょうか。AB&C を検索すると、AB&C の結果が検索されるか、それとも単語全体がストップ ワードになります。

任意の提案をいただければ幸いです。

前もって感謝します。

4

1 に答える 1