2016-12-19 8 views
1

私は、Twitterのつぶやきを上回るさまざまな検索プラットフォームのパフォーマンスを比較する調査を行っています。Solrを使ってtxtファイルのコンテンツをインデックス/検索する

:データは次のようになります

Tweet ID User Tweet Content Tweet Time-stamp 

:私の目的のために私は次のような形式で単一のテキスト(.txt)ファイル(50,000前後)ツイートのセットを収集し、それらを保存しています

31261817690923008 username1 tweet 1 content goes here 1482180069 
31132193287839744 username2 tweet 2 content goes here 1274400000 

ここで、Solr 6.3.0を使用すると、コンテンツの各行を個別にインデックスできますか?代わりに、私はXMLまたはJSONを使うべきですか?それとも別のファイルに各行(ツイート)を保存する必要がありますか?

答えて

1

CSV Update Handlerを使用すると、行ごとに1つのドキュメントが作成されます。

あなたが使用した構造にパースを調整するには、あなたは、単一のフィールドの値をカプセル化するために使用される値を設定するために、フィールド/列の間に使用されたセパレータを提供するために、encapsulatorseparator(TAB?%09)を使用することができますが(それあなたが最初の行に入っていなければ、それぞれの列に適切なフィールド名を提供するためにfieldnamesを使用してください。その場合は、headerをtrueに設定します(フィールド名は指定しないでください)。あなたはデータ入力のためのコーディングの非常に多くを行うにはしたくない

#1:二つのことを仮定し

1

#2あなたのテキストファイルは、TABまたはコンマ区切りです。 もしそうなら、簡単にXMLに変換して、管理インターフェースから追​​加することができます。

心に留めておくべきいくつかのこと:

は、合理的なサイズの<add> ... </add>ブロックでデータを囲みます。理想的には50Kではありません。少し試してみてください。

各エントリを囲み - 各列が

<field name="id"> ... </field> 
<field name="username"> ... </field> 
... 

すべてのように、独自のフィールドを持っている必要があり<doc> ... <doc>

にあなたのケース内の行が一意のIDを必要としています。 実際には、スプレッドシートでテキストファイルを開き、データの間にタグ列を追加して行を連結することができれば、50Kで少し労力を要しても比較的簡単です。 2つのドキュメントセットは次のようになります。

<add>  
<doc>  
<field name="id"> ... </field> 
<field name="user"> ... </field> 
<field name="content"> ... </field> 
<field name="time_stamp"> ... </field> 
</doc>  

<doc>  
<field name="id"> ... </field> 
<field name="user"> ... </field> 
<field name="content"> ... </field> 
<field name="time_stamp"> ... </field> 
</doc>  
</add>  
関連する問題