GNU/Linux >> Linux の 問題 >  >> Linux

ApacheSolrにデータをインポートする方法

最近、エンタープライズグレードの検索プラットフォームであるApacheSolrをデプロイするプロセスについて説明しました。このツールを使用すると、大量のデータを取得し、ヒットハイライト、リアルタイムインデックス作成、動的クラスタリングなどを使用して、それらに対して強力な検索クエリを実行できます。

Apache Solrをデプロイしたら、データをコレクションに追加して検索できるようにする必要があります。ここでは、データのCSVリスト(任意のサイズにすることができます)を新しいコレクションにインポートしてから、新しいデータに対してクエリを実行します。

必要なもの

これを実行するには、Apache Solrの実行中のインスタンス(Solrユーザーの資格情報を含む)とCSVデータファイルが必要です。テンプレートとして使用できるサンプルCSVデータファイルを作成します。

インポート用のCSVファイルを作成する方法

最初に行う必要があるのは、SSHまたはローカルログインを介して、ApacheSolrをホストしているサーバーにログインすることです。ログインしたら、次のコマンドで新しいファイルを作成します:

nano〜/ solrdata.csv

このファイルには好きな名前を付けて、任意のディレクトリに保存できます。各列の名前を含む一番上の行を作成します。国を定義するCSVファイルを使用してデモンストレーションします。一番上の行はいくつかの項目(国コード、地域、サブ地域など)を定義し、次のようになります。

オープンソース:必読の記事

name、alpha-2、alpha-3、country-code、iso_3166-2、region、sub-region、intermediate-region、region-code、sub-region-code、intermediate-region-code

ファイルの残りの部分には、次のようなエントリが含まれています:

アフガニスタン、AF、AFG、004、ISO 3166-2:AF、アジア、南アジア、 ""、142,034、 ""

ÅlandIslands、AX、ALA、248、ISO 3166-2:AX、Europe、Northern Europe、 ""、150,154、 ""

Albania、AL、ALB、008、ISO 3166-2:AL、Europe、Southern Europe、 ""、150,039、 ""

Algeria、DZ、DZA、012、ISO 3166-2:DZ、Africa、Northern Africa、 ""、002,015、 ""

American Samoa、AS、ASM、016、ISO 3166-2:AS、Oceania、Polynesia、 ""、009,061、 ""

Andorra、AD、AND、020、ISO 3166-2:AD、Europe、Southern Europe、 ""、150,039、 ""

アンゴラ、AO、AGO、024、ISO 3166-2:AO、アフリカ、サハラ以南のアフリカ、中央アフリカ、002,202,017

次のコマンドを使用して、サンプルのcountry.csvファイル全体をダウンロードできます。

wget https://cdn.wsform.com/wp-content/uploads/2018/09/country.csv

そのファイルをApacheSolrホスティングマシンのローカルドライブに保存します。

新しいコレクションを作成する方法

それでは、国のデータを格納するための新しいコレクションを作成しましょう。このコレクションを「country_data」と呼び、次のコマンドで作成します:

su --solr -c "/ opt / solr / bin / solr create -c country_data -n data_driven_schema_configs"

Solrユーザーパスワードの入力を求められます。認証に成功すると、コレクションが作成され、次に進む準備が整います。

データのインポート方法

次のコマンドを使用して、Solrを格納するディレクトリに移動します。

cd / opt / solr

次に、次のコマンドでデータをインポートできます:

./ bin / post -c country_data /path/to/country.csv

/ path / toの場所 は、新しくダウンロードされたcountry.csvファイルを格納するディレクトリへの正確なパスです。

次のような出力が表示されます:

[base] url http:// localhost:8983 / solr / country_data / update ...にファイルを投稿する

自動モードに入ります。考慮されるファイルの末尾は、xml、json、jsonl、csv、pdf、doc、docx、ppt、pptx、xls、xlsx、odt、odp、ods、ott、otp、ots、rtf、htm、html、txt、log>

ファイルcountry.csv(text / csv)を[base]にPOSTする

1つのファイルがインデックスに登録されました。

コミットするSolrインデックスの変更をhttp:// localhost:8983 / solr / country_data / update ...

費やした時間:0:00:02.674

新しいデータを表示する方法

ブラウザでhttp:// SERVER:8983 を指定して、ApacheSolrWebインターフェースにログインします。 (ここで SERVER はホスティングサーバーのIPアドレスです)。左側のナビゲーションのnewdataドロップダウンからcountry_dataを選択します。結果のウィンドウ(図A )、[クエリ]をクリックします。

図A

表示されたウィンドウで、何も変更せずに[クエリの実行]をクリックすると、インポートされたドキュメント全体が一覧表示されます(図B

図B

アイルランドを検索するとします。 qセクション(共通の下)に「Ireland」と入力し、[クエリの実行]をクリックします。結果には、ご想像のとおり、アイルランドのエントリのみが表示されます(図C

図C

CSVデータをインポートするさらに簡単な方法

CSVデータをApacheSolrにインポートするさらに簡単な方法があります。

datacollectionという新しいコレクションを作成し、Webベースのインターフェースからcountry.csvファイルをインポートするとします。 Apache Solrにログインし、ドロップダウンからデータ収集を選択して、左側のナビゲーションで「ドキュメント」をクリックします。表示されたウィンドウで、[ドキュメントの種類]ドロップダウンから[CSV]を選択し、country.csvファイルの内容全体を[ドキュメント]セクションにコピーして貼り付けます(図D

図D

[ドキュメントの送信]をクリックすると、最終的に(右側のペインに)次の出力が表示されます。

ステータス:成功

応答:

{

"responseHeader":{

"status":0、

"QTime":3533

}

}

これで、以前と同じ方法でインポートしたデータをクエリできるようになります。

CSV形式のデータをApacheSolrにインポートする方法はこれですべてです。これは、大量のデータコレクションの検索を非常に簡単にする非常に強力なツールです。ビジネスがデータに依存している場合、これは必要な多くのツールの1つである可能性があります。


Linux
  1. Debian10にApacheSolrをインストールする方法

  2. CentOS7にApacheSolrをインストールする方法

  3. CentOS8にApacheSolrをインストールする方法

  1. AlmaLinux8にApacheSolrをインストールする方法

  2. シェルパイプを介してCsvデータをSqliteテーブルに挿入する方法は?

  3. BashでCSVファイルを解析するには?

  1. Debian11にApacheSolrをインストールする方法

  2. Ubuntu14.04にApacheSolrをインストールする方法

  3. 別のファイルに書き込む方法は?