問題タブ [dataimporthandler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
464 参照

sql - インターネット経由で大量のデータを含む SQL データベースにクエリを実行しているときに発生する可能性のある問題

Web クローラーによってインデックス化されたデータを含む 1 つの MSSQL サーバー上に、この大きなデータベースがあります。毎日、別のサーバーと別のネットワークにある DataImportHandler を使用して、SOLR SearchEngine インデックスを更新したいと考えています。

Solr DataImportHandler はクエリを使用して SQL からデータを取得します。たとえば、このクエリ

ImportHandler は、このタイプの 8 つの選択を行います。各選択は、データベースから約 1000 行を取得します。

SQL SERVERに接続するには、com.microsoft.sqlserver.jdbc.SQLServerDriverを使用しています

接続のために追加できるパラメータは次のとおりです。

  • responseBuffering="適応/すべて"
  • batchSize="整数"

だから私の質問は:

このクエリを毎日実行しているときに何が問題になる可能性がありますか? (ネットワーク エラーを除く) この状況で SQL Server がどのように機能しているか知りたいですか。

さらに、このインポートを実装する方法とエラーの処理方法について決定を下す必要がありますが、まず、どのようなエラーが発生する可能性があるかを知る必要があります。

ありがとう!

後で編集

私の問題は、この SQL クエリがどのように失敗するのかがわからないことです。このインポーターを毎日呼び出すと、データベースに対して 10 件のクエリが実行されます。5 番目のクエリが失敗した場合は、トランザクション全体をロールバックしてもう一度実行するか、最初の 4 つのクエリから取得したデータをコミットして、クエリ 5 から 10 をやり直すかを選択する必要があります。ただし、他の問題が原因でこのクエリが常に失敗する場合、このデータをインポートする別の方法を考える必要があります。

タイムアウト操作などのために、インターネット経由のこの SQL クエリが失敗することはありますか?

0 投票する
2 に答える
2105 参照

solr - DataImportHandlerを使用するときにSolrロケーション(空間)フィールドにデータを入力するには、どのSQLデータ型を使用する必要がありますか?

フィールドを含むSolrスキーマがありlocationます(デフォルトを使用solr.LatLonType):

そして、DataImportHandlerを使用してデータを入力しようとしています。現在、私は;SELECTの形式のnvarcharとしての値です。17.74628,-64.70725ただし、Solrフィールドには入力されていません(空のままです)。

locationSolrのフィールドを更新するには、この列をどのタイプと形式にする必要がありますか?

0 投票する
3 に答える
3079 参照

solr - オプションのサブエンティティを含む Solr DataImportHandler

DataImportHandlerデータベースにインデックスを付けるように構成していますが、この問題に遭遇しました。

別のテーブルへのfkであるnull許容整数フィールドFを持つテーブルAがあります(Bと呼びます)。私はこのようにモデリングしていました:

問題は、F が NULL の場合、${main.F} が何も置き換えられず、次のクエリを実行しようとするため、実行時エラーが発生することです。

この状況を処理する方法はありますか?

0 投票する
2 に答える
646 参照

solr - Solr:ファイルエンティティプロセッサとデルタインポート

solr 3.3を使用していますが、ファイルエンティティプロセッサとtikaエンティティプロセッサでデルタインポートを使用したいと思います。完全インポートは正常に機能しますが、デルタインポートパラメータは新しいドキュメントをインポートしません。

ありがとう

0 投票する
1 に答える
407 参照

solr - UIMAをSOLRDataimporthandlerにどのように結び付けますか?

ApacheUIMAを使用していくつかのテストを行っています。結果は素晴らしいです!

私たちの理想的なセットアップは、UIMAとSOLRの緊密な統合です。理想的には、追加のメタデータのために、UIMAを過ぎてインデックスを作成するすべてのコンテンツを渡したいと思います。

UIMAをSOLRUpdateハンドラーと統合する方法の例とドキュメントがありますが、理想的には、既存のDataImportHandler(DIH)を使用したいと思います。すべてのデータはJDBC接続を介してインポートされるため、インデックスを作成する前にUIMAに渡す必要があります。

誰かがこれを達成する方法に光を当てることができますか?

ありがとう、

レネ

0 投票する
2 に答える
2404 参照

xml - XMLファイルでSolrDataImportHandlerを使用する方法は?

私はDataImportHandlerを使用して、FileListEntityProcessorでFileDataSourceを使用してデータファイルをインポートすることを研究しています。開始する前に、皆さんが支援してくれることを期待しているいくつかの質問があります。

1)構成された場所のローカルファイルシステムにファイルを配置し、Solrにファイルを表示して処理させたいのですが、追加の作業は必要ありません。これは何らかの方法で実行可能ですか?私が見たところ、これはサポートされておらず、手動でURLを呼び出す必要があります(例: http:// foo / solr / dataimport?command = full-import)。手動のURLベースの呼び出し方法は、データベース指向の世界では完全に論理的であるように見えます。データベース指向の世界では、更新を定期的に実行するようにスケジュールできますが、私の場合、負荷分散された同じインデックスがいくつかあり、同じものを実行したくありません。大量のクエリを複数回並行して実行します。そのため、私は1つのクエリを実行し、結果をXMLファイルに書き込み、そのファイルを各ボックスにプッシュしてから、そのファイルを処理します。プロセスをできるだけ自動化してほしい。

2)Solrによって処理されたファイルは、インポート後に削除したいのですが。私は現在これを行う方法を見ていません。何かをサブクラス化できるかもしれないと思いましたが、たとえば、FileListEntityProcessorは、ワークフロー内の適切なタイミングでファイルを削除するためのハンドルを提供していないようです。私が見ることができる他の場所はありますか?

3)DIHのドキュメントを読んでいるときに、次のステートメントに出くわしました。「delta-importコマンドを実行すると、conf / dataimport.propertiesに保存されている開始時刻が読み取られます。そのタイムスタンプを使用してデルタクエリが実行され、完了後に更新されます。conf/dataimport.propertiesのタイムスタンプ。」実際に日付を完了日に更新する場合、開始日と終了日の間に追加されたファイルはどうなりますか?彼らは失われていますか?

4)デルタインポートの場合、conf / dataimport.propertiesファイルに記載されているファイルよりも古いファイルを再インポートしないようにする以外に、処理されたファイルの順序については言及されていません。順序が重要な場合、ファイルを名前または作成日で順序付けますか、それとも...?

0 投票する
1 に答える
3392 参照

solr - 複数のエンティティからのSolrへのデータのインポート

SQLServerデータベースのデータインポートハンドラーを試しています。

にDIhandlerを追加し、データベーススキーマに従ってsolrconfig.xml作成し、別のフィールドも追加しました。SQLServerデータベースに接続しています。data-config.xmlschema.xml

接続して実行した後、dataimport?command=full-importxmlタグ(データ)が正しく取得されていません。

私のdata -config.xmlで*****

これで、結果は* ******になります。

  1. 両方の表でデータが見つかった場合

    <ドキュメント>

    /li>
  2. データがアイテムテーブルにあるがReturnSolrFilterにはない場合、タグは生成されません(これは実際の問題ですCustomFieldタグは生成されません

<ドキュメント>

<int name = "Item_ID"> 13773 </ int>

<str name = "itemcode"> 15438680 </ str>

</ doc>

0 投票する
0 に答える
1138 参照

oracle - Solr DataImportHandler インデックスの間違った Oracle 日付

Solr 3.4 を使用して、Oracle 10 データベースから DataImportHandler によって取得されたフィールドにインデックスを付けます。タイプ「DATE」の Oracle フィールドの値は 2011-09-20 です。タイプ「solr.TrieDateField」の Solr インデックス フィールドの値は 2011-09-19T22:00:00Z です。私の (oracle、solr、windows) タイムゾーンは GMT+1 です。solr インデックス フィールドの値は 2011-09-19T23:00:00Z であると予想していました。なぜそうではないのですか?

構成:

ojdbc14 バージョン 11.2.0.2 を使用しています

Solr admin -> Java プロパティ -> user.timezone = Europe/Belgrade (GMT+1)

調査の結果、考えられる原因が見つかりました:

solr は sessiontimezone の代わりに dbtimezone を使用していますか?

私は答えを見つけました:

最初の日付には夏時間が含まれますが、2 番目の日付には含まれません。とても明白です。

0 投票する
1 に答える
1715 参照

solr - マルチコアのrequestHandlerコード

2つのコアを作成しましたが、http:// {localhost}:8983 / solr /が表示されており、クリックすると管理パネルが開きます。solr.xmlファイルには以下のコードがあります。

それに応じてフォルダを作成します。しかし、それにハンドラーを追加しようとすると、core1-> config-> solrconfig.xmlのcore1に想定すると、core0がコアリストから消えます。

requesthandlerのコアを以下に示します。

ハンドラーでコア名を渡してみました。

しかし、それは機能しませんでした。

2つのコアを実行するために何か他のものを変更する必要がありますか?