PDFをSolrに保存できるように(ローカル環境で)設定しようとしていますが、機能させることができません。現在、Solr が提供するサンプル フォルダー内のファイルを操作しています。
solr-3.6.0/example/conf の solrconfig.xml は変更しませんでした。リクエスト ハンドラの抽出で説明されているように、既に構成されているようです。つまり、すでにこれが含まれています:
<lib dir="../../dist/" regex="apache-solr-cell-\d.*\.jar" />
<lib dir="../../contrib/extraction/lib" regex=".*\.jar" />
この:
<requestHandler name="/update/extract"
startup="lazy"
class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults">
<str name="fmap.content">text</str>
<str name="lowernames">true</str>
<str name="uprefix">ignored_</str>
<str name="captureAttr">true</str>
<str name="fmap.a">links</str>
<str name="fmap.div">ignored_</str>
</lst>
次のコマンドを使用して、example ディレクトリから Solr を実行しています。
java -jar start.jar
そして、次のコマンドでPDFをSolrに送信しようとしています:
java -Durl=http://localhost:8983/solr/update/extract -Dauto -jar /Applications/Solr-3.6.0/example/exampledocs/post.jar /path/to/pdf/mypdf.pdf
/Solr-3.6.0/example/solr/conf/schema.xml に変更を加えないと、次のメッセージが表示されます。
FATAL: Solr returned an error #400 [doc=null] missing required field: id
schema.xml の id 要素の "required" プロパティの値を false に変更すると、次のようになります。
FATAL: Solr returned an error #400 Document is missing mandatory uniqueKey field: id
要素の必須プロパティがスキーマで false の場合、そのフィールドを含まないファイルを送信するだけでよいと思いますが、明らかにそうではありません。
また、そのpdfを送信するコマンドにパラメーター-Dparams=literal.id=mypdf1を追加しようとしましたが、それも役に立ちません。何かご意見は?