2
Error is as follows :
[root@hdqsltest1 garyTestDocs]# curl http://localhost:8983/solr/update/csv? literal.id=book2&commit --data-binary @sample.csv -H 'Content-type:text/plain; charset=utf- 8'
[1] 16541
bash: commit: command not found

応答は次のようになります-

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 400 missing content stream</title>
</head>
<body><h2>HTTP ERROR 400</h2>
<p>Problem accessing /solr/update/csv. Reason:
<pre>    missing content stream</pre></p><hr /><i><small>Powered by Jetty://</small>     </i><br/>                                                
<br/>                                                
<br/>                                                
</body>
</html>                                                

sample.csv 入力 -

 module,meets,question,response
 General Questions,,"Please provide us a detailed company background","We are great"  

schema.xml -

 <field name="module" type="text" indexed="true" stored="true" />
 <field name="meets" type="text" indexed="true" stored="true" />
 <field name="question" type="text" indexed="true" stored="true" />
 <field name="response" type="text" indexed="true" stored="true" />

solrconfig.xml

 <!-- CSV update handler, loaded on demand -->

  <requestHandler name="/update/csv" class="solr.CSVRequestHandler" startup="lazy">
       <lst name="defaults"> 
             <str name="separator">,</str>
             <str name="header">true</str>
             <str name="encapsulator">"</str>
        </lst> 
   </requestHandler>

別のサンプル.csv

   module,meets,question,response
   General Questions,,"Please provide us a detailed company background","Yes"

リモート ストリーミングを有効にしました。私のクエリは

   curl http://localhost:8983/solr/update/csv?literal.id=book12&commit=true --data-binary @sample.csv -H 'Content-type:text/plain; charset=utf-8' 

それで、私は何を間違っていますか。ガイドしてください。

solr のバージョン = 3.6.2。

インデックス作成の全体的なポイントは、フィールドに対してクエリを実行できることですか? また、csv ファイルを抽出してテキストをさまざまなフィールドに配置できるかどうかも疑問に思っています。csv ファイルのテキストをコンテンツ フィールドに配置することはわかっています。更新/抽出に関する提案はありますか? ここで 2 つの質問をしました。ありがとうございました。

4

3 に答える 3

2

実際には、このクエリで問題を解決しました

curl http://localhost.com:8983/solr/update/csv?commit=true --data-binary @sample.csv -H 'Content-type:text/plain; 文字セット=utf-8'

しかし、このクエリを実行する前に、必要な id フィールド エラーが常に発生していました。クエリに移動して、literal.id=ABC1 (一意のランダム ID) に言及しても、同じエラーが発生します。だから私は自分のschema.xmlに行き、フィールドIDに必要な属性を削除し、solrを再起動して上記のクエリを実行してもエラーが発生しました。そのため、sample.csvにid列を作成し、インデックスを作成したときに解決策が得られました。私は実際にそれが好きではありません!しかし、それはうまくいきました。

于 2013-04-10T18:24:06.270 に答える
1

最初にディレクトリを変更してcsvファイルを見つけ、

cd <file_path>

curl http://localhost:8983/solr/update/csv?commit=true --data-binary @sample.csv -H 'Content-type:text/plain; charset=utf-8'

ターミナルからこのスクリプトを実行します。問題が解決することを願っています。

于 2014-04-30T13:42:34.240 に答える