0

奇妙ですが、ZCatalogを動作させることができません。すべてが本によって行われ、それでも結果は常に同じ完全なリストです。

あなたはここで見ることができます:http: //nfp-bg.eionet.eu.int/waste/en/search-results?catalogTextIdx = selection

私がこれまでにしたこと:

  1. 作成されたZCatalogオブジェクト
  2. 以下の項目でZCTextIndexレキシコンを作成しました
    • HTMLWordSplitter
    • CaseNormalizer
    • StopWordRemover
  3. 作成されたcatalogTextIdxインデックス-パラメータは次のとおりです。
    • インデックス付けされた属性の名前:PrincipiaSearchSource
    • インデックスタイプ:OkapiBM25ランク
    • 使用されるZCTextIndexレキシコン:http://nfp-bg.eionet.eu.int/waste/catalog//catalogTextIdx/catalogLexicon
  4. 収集されるメタデータは次のとおりです。
    • PrincipiaSearchSource
    • id
    • タイトル
  5. オブジェクトの検索は、次のタイプのオブジェクトに対してのみ実行されます:DTMLドキュメント
  6. アイテムのリストはカタログ用に正しく作成されています(私はcss / js dtmlファイルのみを削除しました)
  7. 検索フォームには次のコードが使用されます。
<form action="search-results" method="get">
    <input type="text" name="catalogTextIdx" id="catalogTextIdx" value="<dtml-if catalogTextIdx>
    <dtml-var catalogTextIdx><dtml-else>Search...</dtml-if>" class="search-field" />
    <input type="submit" name="SUBMIT" value="Submit Query" class="button" />
</form>

最後に、次のコードが検索結果ページに使用されます。

<dtml-with common>&dtml.-Header;&dtml.-left-column;</dtml-with>
<td id="content" valign="top">
    <h2>Search Results</h2>

    <dtml-in expr="catalog(meta_type=['DTML Document'])">
        <h3>Result founded: <a href="<dtml-var "catalog.getpath(data_record_id_)">"><dtml-var title></a></h3>
        <dtml-var "filterRenderedHTML(PrincipiaSearchSource)">
    </dtml-in>
</td>
<dtml-with common>&dtml.-right-column;&dtml.-Footer;</dtml-with>

動作しているはずですが、動作していません。小さなものにすべきだと思いますが、それでもわかりません。

よろしくお願いします。

4

1 に答える 1

1

ZCatalog には、クエリにカタログに存在しないインデックスが含まれている場合、すべてのインデックス付きオブジェクトが返されるという癖があります。この場合、クエリには、設定していない「meta_type」インデックスが含まれているように見えます。そのため、ZCatalog はそのインデックスを適用しようとしますが、見つからないため、すべての項目を返します。

于 2011-02-21T18:47:09.840 に答える