2011-08-02 8 views
3

私はオブジェクト名を検索します。私は、この構造がある場合 は: /de/myspace/media/justAnotherPdf.pdfZCatalogオブジェクト名を検索するには

をそれから私は、私はPDFファイルを索引している 名それを見つけるために「justAnotherPdf」または「justAnot」のようなものを検索したいです。

しかし、私はそれをTextIndexNG2またはPathIndexで検索できません。

答えて

3

は現在、これはアウト・オブ・ボックスはサポートされていません。オブジェクト識別子(getId)はフィールド値としてのみ索引付けされるため、文字列全体として検索することができます。

ユースケースをサポートするために、カタログに別のインデックスを追加する必要があります。新しい名前で新しいTextIndexNG2インデックスを追加して、getIdメソッドだけをインデックスすることができます。 ZMIでportal_catalogを見つけ、次に「Indexes」タブをクリックし、右側に新しいインデックスを追加するためのドロップダウンメニューが表示されます。覚えやすい名前(たとえば 'fullTextId')を選択し、インデックス付き属性としてgetIdを使用します。

インデックスの再インデックスを行う必要があります。追加したら、[インデックス]タブでチェックボックスをオンにして、そのページの下部にある[インデックスの再作成]を選択します。これで、ワイルドカード検索でカスタム検索でこのインデックスを使用できます。

3
import os.path 
name = os.path.splitext(os.path.split(url)[1])[0] 

コードを説明する:

from os.path import split, splitext 
url = '/de/myspace/media/justAnotherPdf.pdf' 
path, name_with_ext = split(url) 
name_without_ext, ext = splitext(name_with_ext) 
+0

私はそれを理解しています。しかし、ユーザーがスクリプトを検索すると、各メディアディレクトリに移動する必要があります。)しかし、私は別のフォルダに約400以上のファイルを持っています... – Hackbard

+0

拡張子なしでファイル名を抽出する方法です関数にカプセル化され、 'os.walk'ループでそれを使用します... = P – BrainStorm

関連する問題