0

あらゆる種類のファイル (テキスト: [pdf、doc...]、画像 [jpg、png、bmp...]、ビデオ [mov、mp4...] のインデックスを作成するオープン ソースのドキュメント管理システムを探しています。 ])そして私はDatafariに出くわしました

Solr検索エンジンとManifoldCFを使用してコンテンツ リポジトリ接続を管理し、メタデータの検索に役立つTika コネクタを備えています。

私はそれをインストールし、メタデータ基準で検索された画像を見つけるために設定をしようとしていますが、今のところ運がありません.

いくつかのメタデータを含むイメージを含むローカル リポジトリを追加しました。

<?xml version="1.0" encoding="UTF-8"?><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="Artist" content="tarzan"/>
<meta name="date" content="2015-03-28T09:47:45"/>
<meta name="Print flags information" content="0 1 0 0 0 0 0 0 0 2"/>
<meta name="Slices" content="zebre (0,0,500,500) 1 Slices"/>
<meta name="ICC Untagged Profile" content="1"/>
<meta name="Compression Type" content="Baseline"/>
<meta name="subject" content="legs"/>
<meta name="subject" content="mammal"/>
<meta name="Image Description" content="this kind of animal is hard to see behind bar"/>
<meta name="Thumbnail Compression" content="JPEG (old-style)"/>
<meta name="Print flags" content="0 0 0 0 0 0 0 0 1"/>
<meta name="By-line" content="tarzan"/>
<meta name="Number of Components" content="3"/>
<meta name="Component 2" content="Cb component: Quantization table 1, Sampling factors 1 horiz/1 vert"/>
<meta name="Component 1" content="Y component: Quantization table 0, Sampling factors 1 horiz/1 vert"/>
<meta name="tiff:ResolutionUnit" content="Inch"/>
<meta name="Object Name" content="king of disguise"/>
<meta name="Seed number" content="1"/>
<meta name="X Resolution" content="72 dots per inch"/>
<meta name="IPTC-NAA record" content="160 bytes binary data"/>
<meta name="Unknown tag (0x043a)" content="[239 bytes]"/>
<meta name="Version Info" content="1 (Adobe Photoshop, Adobe Photoshop CS6) 1"/>
<meta name="Component 3" content="Cr component: Quantization table 1, Sampling factors 1 horiz/1 vert"/>
<meta name="dc:title" content="king of disguise"/>
<meta name="modified" content="2015-03-28T09:47:45"/>
<meta name="Thumbnail Data" content="JpegRGB, 160x160, Decomp 76800 bytes, 1572865 bpp, 6513 bytes"/>
<meta name="tiff:BitsPerSample" content="8"/>
<meta name="Application Record Version" content="42432"/>
<meta name="Resolution Info" content="72.0x72.0 DPI"/>
<meta name="meta:author" content="tarzan"/>
<meta name="meta:creation-date" content="2015-03-28T09:47:45"/>
<meta name="Caption digest" content="[16 bytes]"/>
<meta name="Creation-Date" content="2015-03-28T09:47:45"/>
<meta name="resourceName" content="zebre.jpg"/>
<meta name="Orientation" content="Top, left side (Horizontal / normal)"/>
<meta name="tiff:Orientation" content="1"/>
<meta name="tiff:Software" content="Adobe Photoshop CS6 (Windows)"/>
<meta name="Thumbnail Offset" content="354 bytes"/>
<meta name="Color Transform" content="YCbCr"/>
<meta name="Global Angle" content="120"/>
<meta name="Author" content="tarzan"/>
<meta name="Exif Image Height" content="500 pixels"/>
<meta name="Software" content="Adobe Photoshop CS6 (Windows)"/>
<meta name="tiff:YResolution" content="72.0"/>
<meta name="Y Resolution" content="72 dots per inch"/>
<meta name="dc:description" content="this kind of animal is hard to see behind bars"/>
<meta name="Color transfer functions" content="[112 bytes]"/>
<meta name="Keywords" content="legs"/>
<meta name="Keywords" content="mammal"/>
<meta name="Data Precision" content="8 bits"/>
<meta name="Coded Character Set" content="%G"/>
<meta name="dc:creator" content="tarzan"/>
<meta name="tiff:ImageLength" content="500"/>
<meta name="description" content="this kind of animal is hard to see behind bars"/>
<meta name="JPEG quality" content="12 (Maximum), Standard format, 3 scans"/>
<meta name="dcterms:created" content="2015-03-28T09:47:45"/>
<meta name="dcterms:modified" content="2015-03-28T09:47:45"/>
<meta name="Last-Modified" content="2015-03-28T09:47:45"/>
<meta name="Last-Save-Date" content="2015-03-28T09:47:45"/>
<meta name="Thumbnail Length" content="6513 bytes"/>
<meta name="Color Space" content="Undefined"/>
<meta name="Credit" content="tarzan"/>
<meta name="Global Altitude" content="30"/>
<meta name="meta:save-date" content="2015-03-28T09:47:45"/>
<meta name="Country/Primary Location Name" content="kenya"/>
<meta name="Content-Length" content="93123"/>
<meta name="Content-Type" content="image/jpeg"/>
<meta name="X-Parsed-By" content="org.apache.tika.parser.DefaultParser"/>
<meta name="X-Parsed-By" content="org.apache.tika.parser.jpeg.JpegParser"/>
<meta name="creator" content="tarzan"/>
<meta name="Color halftoning information" content="[72 bytes]"/>
<meta name="dc:subject" content="legs"/>
<meta name="dc:subject" content="mammal"/>
<meta name="tiff:XResolution" content="72.0"/>
<meta name="Date/Time" content="2015:03:28 09:47:45"/>
<meta name="Grid and guides information" content="[16 bytes]"/>
<meta name="Caption/Abstract" content="this kind of animal is hard to see behind bars"/>
<meta name="DCT Encode Version" content="1"/>
<meta name="Exif Image Width" content="500 pixels"/>
<meta name="Image Height" content="500 pixels"/>
<meta name="Pixel Aspect Ratio" content="1.0"/>
<meta name="Supplemental Category(s)" content="earthly creature"/>
<meta name="Image Width" content="500 pixels"/>
<meta name="Flags 0" content="64"/>
<meta name="Resolution Unit" content="Inch"/>
<meta name="Unknown tag (0x043b)" content="[557 bytes]"/>
<meta name="URL List" content="0"/>
<meta name="meta:keyword" content="legs"/>
<meta name="meta:keyword" content="mammal"/>
<meta name="Print Scale" content="Centered, Scale 1.0"/>
<meta name="tiff:ImageWidth" content="500"/>
<meta name="Flags 1" content="0"/>
<title>king of disguise</title>
</head>
<body/></html>

solr schema.xml に、必要なフィールドを追加しました。

<fields>
...
 <field name="subject" type="string" indexed="true" stored="true" multiValued="true" />

その後、サーバーを再起動しました

ジョブ リストの ManifoldCF 管理で、ジョブに Tika extractor 変換を追加しました: パイプラインは: my repository -> Tika Extractor -> DatafariSolr です。

Solrインターフェースで検索を試みました:qの場合、試してみたところ"subject:legs"Solrインターフェースでデータを取得しました

しかし、Datafari 検索エンジンでは、結果がありません

Datafari のヘルプはあまり役に立たず、Manifoldcf のドキュメントを調べましたが、うまくいきませんでした。メタデータを介したこの種の検索の実際の例が欲しいです。結果に画像が表示されるようにするには、何を変更および/またはテストする必要がありますか?

Olivier Tavardの回答後の更新:

ご協力ありがとうございました。このツールは非常に有望ですが、まだ設定に問題があります。

datafari/WebContent/js/search.js が見つかりません。もしかして: datafari/tomcat/webapps/Datafari/js/search.js ?

あなたが提案したものを追加しました。

フィールド「説明」と「作成者」も追加しました。

1 - SolR 検索: - q " animal " で検索すると、("animal" ではなく) 自分の画像を取得できます。これは、"description: animal " よりも優れています。- しかし、「脚」を検索しても何も検索されません。<meta> の「件名」が複数あるため、検索の仕方が違うのでしょうか?- 「tarzan」(作成者フィールドから) を検索しても、何も取得されません。

2 - Datafari UI 検索: - 私が行った変更により、検索が「壊れた」ようです: 検索すると、常にホイールが回転しています。コンソールには次のものがあります。

    GET "http://localhost:8080/Datafari/css/menu.css" 404
L'utilisation d'XMLHttpRequest de façon synchrone sur le fil d'exécution principal est obsolète à cause de son impact négatif sur la navigation de l'utilisateur final.

3 - 同じフィールドの他のメタデータを含む別の画像を追加しました。SolR 検索で「jpg」をクエリすると、両方が表示されます (OK) が、json 応答では、余分なフィールドが他のフィールドに表示されません。画像 !

{
  "responseHeader": {
    "status": 0,
    "QTime": 6,
    "params": {
      "indent": "true",
      "q": "jpg\n",
      "_": "1427968093838",
      "wt": "json"
    }
  },
  "response": {
    "numFound": 2,
    "start": 0,
    "docs": [
      {
        "last_modified": "2015-03-28T09:47:45Z",
        "id": "file:/home/olivier/Bureau/datafari/images/zebre.jpg",
        "url": "file:/home/olivier/Bureau/datafari/images/zebre.jpg",
        "source": "file",
        "extension": "jpg",
        "language": "en",
        "content_en": [
          ""
        ],
        "title_en": [
          "zebre.jpg"
        ],
        "title": [
          "zebre.jpg"
        ],
        "_version_": 1496971642075611100,
        "allow_token_share": [
          "__nosecurity__"
        ],
        "deny_token_document": [
          "__nosecurity__"
        ],
        "deny_token_share": [
          "__nosecurity__"
        ],
        "allow_token_document": [
          "__nosecurity__"
        ]
      },
      {
        "last_modified": "2015-03-29T15:45:23Z",
        "subject": [
          "Description Mots clé"
        ],
        "id": "file:/home/olivier/Bureau/datafari/metadata/image1toto.jpg",
        "creator": [
          "Description, IPTC - Auteur: beta"
        ],
        "description": [
          "Description Description : gamma"
        ],
        "url": "file:/home/olivier/Bureau/datafari/metadata/image1toto.jpg",
        "source": "file",
        "extension": "jpg",
        "language": "en",
        "content_en": [
          ""
        ],
        "title_en": [
          "image1toto.jpg"
        ],
        "title": [
          "image1toto.jpg"
        ],
        "_version_": 1497001790322770000,
        "allow_token_share": [
          "__nosecurity__"
        ],
        "deny_token_document": [
          "__nosecurity__"
        ],
        "deny_token_share": [
          "__nosecurity__"
        ],
        "allow_token_document": [
          "__nosecurity__"
        ]
      }
    ]
  },
  "highlighting": {
    "file:/home/olivier/Bureau/datafari/images/imagejpg.jpg": {
      "content_fr": [
        ""
      ],
      "content_en": [
        ""
      ]
    },
    "file:/home/olivier/Bureau/datafari/images/zebre.jpg": {
      "content_fr": [
        ""
      ],
      "content_en": [
        ""
      ]
    },
    "file:/home/olivier/Bureau/datafari/metadata/image1toto.jpg": {
      "content_fr": [
        ""
      ],
      "content_en": [
        ""
      ]
    }
  },
  "spellcheck": {
    "suggestions": []
  },
  "capsuleSearchComponent": {}
}

私はとても混乱しています。

Olivier Tavardの回答後に編集

返信が遅れて申し訳ありません。私は何か緊急の ATM に取り組んでおり、希望どおりにテスト/回答できませんでした。

私はあなたの手順に従いました(非常に教訓的です、ありがとう)、クライアント検索で結果を得ることができました:)

しかし :

1- datafari gui でそれを見つけるためにワイルドカードを使用する必要がありました:「a horse in disguise」 => 「horse」ではなく「**horse*」と入力する必要がありました

2 - 複数のフィールドのデータを取得する方法 (例: meta:keyword ...)

<meta name="meta:keyword" content="legs"/>
<meta name="meta:keyword" content="mammal"/>

3 - 「標準」インストールをしましたが、localhost:8080/Datafari/css/menu.cssに 404 があります。ページを更新するまでサーチホイールが表示されるのはそのためかもしれません。

4

2 に答える 2

2

OK、私は答えを完成させようとします。
手順を再現するために、datafari.com でダウンロードした Datafari のバニラ インストールから始めます。ソースに meta:author という名前、 Datafari

に authorname という名前の新しいメタデータ フィールドを Solr に追加するとします。 フィールドを Datafari UI に表示し、Solr でフィールドを検索できるようにするための各手順を見てみましょう。 1) solrconfig.xml の編集 ソース ファイルの original メタデータmeta:authorを、authorname という名前の新しい Solr フィールドにマップします。そのため、Solr セルのリクエスト ハンドラを編集する必要があります。


<requestHandler name="/update/extract" 
              startup="lazy"
              class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults">
        <str name="scan">false</str>
        <str name="captureAttr">true</str>
        <str name="lowernames">true</str>
        <str name="fmap.language">ignored_</str>
        <str name="fmap.meta_author">authorname</str>
        <str name="fmap.source">ignored_</str>
        <str name="uprefix">ignored_</str>
        <str name="update.chain">datafari</str>
        <bool name="ignoreTikaException">true</bool>


<str name="lowernames">true</str>
正しい構文は、次の行のため、meta_author (meta:author ではありません) です。ドキュメントには次のように記載されています。

また、無視されたすべてのメタデータが無視された動的フィールドに保存されていることも構成で確認できます。schema.xml のフィールドの構成を変更し、stored=false を store=true に変更して、Tika によって検出されたすべてのメタデータを確認することをお勧めします (また、フィールドを Solr にマップするための正しい構文を確認します)。例:

Solr によって取得されるフィールドの例


2) schema.xml の編集
Solr スキーマに新しいフィールドを追加します。したがって、次の行を追加します。

<field name="authorname" type="text_en" indexed="true" stored="true" multiValued="true"/>

これまでのところ、ManifoldCF を使用してインデックス作成を開始でき、新しいフィールドが Solr に十分に存在しています。

3) 新しいフィールドを検索に追加する solrconfig.xml を編集し、select リクエスト ハンドラーに次のフィールドを追加します。

<str name="qf">author title_en^50 title_fr^50 content_fr^10 content_en^10 source^20 extension^20
        </str>

コアのリロード後、新しいフィールドのデータを検索して見つけることができます。

4) Datafari UI を datafari/tomcat/webapps/Datafari/js/main.js (ソース コード) または Datafari/tomcat/webapps/Datafari/js/main.js (インストール済みバージョン) に構成します。次の行を変更します。

Manager.store.addByValue("fl", 'title,url,id,extension'); 

追加したいフィールドを追加します。ここにautorname

Manager.store.addByValue("fl", 'title,url,id,extension, authorname');

最後のステップは、Javascript ファイル search.js を変更することです: datafari/WebContent/js/search.js (ソース コード) または Datafari/tomcat/webapps/Datafari\js/search.js (インストール済みバージョン) フィールドの表示を追加します。コードを追加します:追加したい場所にdoc.subject。たとえば、ドキュメントの URL の後に追加する場合: (以前の回答で間違いを犯しましたが、現在は正しいです)

elm.find('.doc:last .address').append('<span>' + AjaxFranceLabs.tinyUrl(decodeURIComponent(url)) + '</span>')
elm.find('.doc:last .address').append('<div id="author">' + doc.author );

そして最後に、Datafari Ui は、各ドキュメントの最後にフィールド author を付けて、次のようにする必要があります。

データファリ UI

まだ問題がある場合は教えてください。
よろしくお願いします

user29296別の質問の後に編集

  • ワイルドカードについて 使用するフィールド タイプと必要な検索のタイプ​​によって異なります。通常、単語の前にワイルドカードを追加する必要はありません。指定されたサフィックスを持つプレフィックスを検索する場合は、ReversedWildcardFilterFactory が必要です。

  • 複数のフィールドのデータを取得する この場合、何が問題なのかわかりません。例を教えてください。検索ハンドラーの Select 構成を変更すると、検索対象のフィールドをqfセクションに追加できます。ここに meta_keyword フィールドを追加するだけです。そのため、クライアントは検索を実行するときにそのフィールドも検索します。

  • Menu.css 404 エラー このエラーによるアプリケーションへの影響はありません。この見つからないファイルの修正は、Datafari の次の更新に含まれます。

于 2015-04-07T11:29:06.607 に答える
1

いつもDataFariをご利用いただきありがとうございます。フィールドの表示を UI に追加するには、2 つのファイルを変更する必要があります。

  • datafari/tomcat/webapps/Datafari/js/main.js

    行を変更します。

    Manager.store.addByValue("fl", 'title,url,id,extension');
    

    追加したいフィールドを例のsubjectに追加します。

    Manager.store.addByValue("fl", 'title,url,id,extension, subject');
    
  • datafari/WebContent/js/search.js

    コードを追加するフィールドの表示を追加します:doc.subject追加する場所。たとえば、ドキュメントの URL の後に追加する場合:

    elm.find('.doc:last .address').append(doc.subject);
    

問題が検索に関連している場合:を検索しても結果が得られない場合は、datafari/solr/solr_home/FileShare/conf/solrconfig.xml で Solr 構成を変更する必要があります。

<requestHandler name="/select" class="solr.SearchHandler">

そして、フィールドsubjectqf (および必要に応じてpf ) にリストに追加します。

<str name="qf">subject title_en^50 title_fr^50 content_fr^10 content_en^10 source^20 extension^20 
        </str>

興味があれば、ここにいくつかのドキュメントを置き始めます。

于 2015-03-31T20:15:46.090 に答える