Officeファイルのタイトル情報の取得方法について

(from osdn.net/users/xylitol)
お世話になっております。

Officeファイル(Word,Excel,PPTなど)のタイトル情報(DocumentPropertiesのTitle)を
取得し、検索結果に表示しようとしております。

PDFに関しては過去のスレッド(https://sourceforge.jp/projects/fess/forums/18580/35753/73936/)
にあり対応できましたが、Officeファイルについての取得方法がわかりません。

ご教授頂いてよろしいでしょうか。

こちらのスレッドと同じく、商用サポートのカスタマイズ開発が必要でしょうか。

よろしくお願いいたします。

(from osdn.net/users/shinsuke)
s2robot_transformer.dicon でコメントアウトしてある

        
            "Author"
            "author_t"
        

のように指定していただければ良いと思います。
上記の場合は著者情報をauthor_tに格納しています。

たとえば、Titleをtitle_tなどにマップして、title_tを
検索結果の表示項目に指定してもらえば良いと思います。

(from osdn.net/users/xylitol)
[メッセージ #75043 への返信]

返信ありがとうございます。

s2robot_transformer.diconの、「fessFileTransformer」「fessTikaTransformer」にて、
addMetaContentMappingを追加し、Author、Titleをセットし確認しましたが、PDFのメタデータしか
取得できていないように思います。PDFの場合はAuthor、Titleの両方ともに取得できています。

恐縮ですが、ExcelやWordの場合のメタデータを設定する方法をご教授頂いてもよろしいでしょうか。

現在、3ファイルについて、以下のような設定をしております。

・s2robot_transformer.dicon(抜粋)

<component name="fessFileTransformer" class="jp.sf.fess.transformer.FessFileTransformer" instance="singleton">
    <property name="name">"fessFileTransformer"</property>
    <property name="ignoreEmptyContent">true</property>
    <property name="replaceSiteEncodingWhenEnglish">true</property>
    <property name="siteEncoding">"UTF-8"</property>
    <initMethod name="addMetaContentMapping">         ←※追加
        <arg>"Author"</arg>
        <arg>"author_t"</arg>
    </initMethod>
    <initMethod name="addMetaContentMapping">         ←※追加
        <arg>"Title"</arg>
        <arg>"title_s"</arg>
    </initMethod>
</component>

<component name="fessTikaTransformer" class="jp.sf.fess.transformer.FessTikaTransformer" instance="singleton">
    <property name="name">"fessTikaTransformer"</property>
    <property name="ignoreEmptyContent">true</property>
    <property name="replaceSiteEncodingWhenEnglish">true</property>
    <property name="siteEncoding">"UTF-8"</property>
    <initMethod name="addMetaContentMapping">         ←※追加
        <arg>"Title"</arg>
        <arg>"title_aa"</arg>
    </initMethod>
    <!-- 
    <initMethod name="addMetaContentMapping">         ←※エラーとなってしまったのでコメントアウトしています。
        <arg>"Author"</arg>
        <arg>"author_aa"</arg>
    </initMethod>
     -->
</component>

・app.dicon(抜粋)

<property name="responseFields">new String[]{ "id", "docId", "score",
    "boost", "contentLength", "host", "site", "lastModified",
    "mimetype", "filetype_s", "created", "digest", "url",
    "clickCount_l_x_dv", "favoriteCount_l_x_dv",
    "cid_s_s", "lang_s", "hasCache_s_s", 
    "author_t", "title_s", "title_aa"}         ←※3項目追加
</property>

・searchResults.jsp(抜粋)

<c:forEach var=“doc” varStatus=“s” items="${documentItems}">
・・・(略)

  • title_s:[${f:h(doc.title_s)}]
  • ←※PDFの場合はタイトル情報が表示されます。Excel、Wordでは表示されません。
  • author_t:[${f:h(doc.author_t)}]
  • ←※PDFの場合は著者情報が表示されます。Excel、Wordでは表示されません。
  • title_aa:[${f:h(doc.title_aa)}]
  • ←※特に表示されません。
    ・・・(略)
    </c:forEach>

    お手数おかけいたしますが、よろしくお願いいたします。

    (from osdn.net/users/shatake)
    まず、title_aaのようなSolrのschema.xmlでダイナミックフィールドとして
    定義していないものは利用できません。schema.xmlに記述してある
    ダイナミックフィールドのルールでの記述をお願いします。

    Wordのタイトルであれば、1つ目のarg要素の指定はtitleになると思いますので、


    などが参考になるかと思います。

    よろしくお願いいたします。

    (from osdn.net/users/xylitol)
    [メッセージ #75059 への返信]

    ご返信ありがとうございます。

    まず、title_aaのようなSolrのschema.xmlでダイナミックフィールドとして
    定義していないものは利用できません。schema.xmlに記述してある
    ダイナミックフィールドのルールでの記述をお願いします。
    認識不足で申し訳ありません。
    schema.xmlの記述についてのアドバイスありがとうございます。
    了解いたしました。

    Wordのタイトルであれば、1つ目のarg要素の指定はtitleになると思いますので、
    https://github.com/codelibs/s2robot/blob/master/s2robot/src/test/java/org/codelibs/robot/extractor/impl/TikaExtractorTest.java
    などが参考になるかと思います。
    情報ありがとうございます。大変参考になります。

    Fess(fess-server-9.2.0)に関しては、下記を逆コンパイルし、処理を確認させて頂きました。

    <Fess(fess-server-9.2.0)におけるs2robotの対象jar>
    %Program Home%\fess-server-9.2.0\webapps\fess\WEB-INF\lib\s2-robot-0.7.2.jar

    <s2-robot-0.7.2.jarの解凍した中身>
    s2-robot-0.7.2\org\seasar\robot\extractor\impl
    MsExcelExtractor.class
    MsPowerPointExtractor.class
    MsWordExtractor.class
    PdfExtractor.class
    TikaExtractor.class
    ・・・など

    今回の「Officeファイルのタイトル情報の取得方法」に関しまして、
    PDFのタイトル取得のようにs2robot_transformer.dicon、app.diconファイル
    (場合によってはschema.xml)の設定にて実現できることを想定しておりました。

    Officeファイルのタイトル情報の取得に関しては、javaソースの編集が
    必要と認識させて頂きましたので、今回は次期課題と挙げ、収束させて
    頂きます。

    ありがとうございました。