問題タブ [dih]
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.
solr - DIHを使用してsolrで複数のテーブルにインデックスを付ける
私は Solr を使用して検索エンジンを開発しており、DIH (Dataimport Handler) を使用して 1 つのテーブルからデータのインデックスを作成することに成功しています。必要なのは、 5 つの異なるテーブルから検索結果を取得することです。私は助けなしではこれを行うことができませんでした。
x行のxテーブルを想定すると、各テーブルからx * xドキュメントが存在するはずであり、合計で5つのテーブルがある場合、5xドキュメントになります。dataconfig.xml では、以下に示すように、1 つのドキュメントに 5 つの個別のエンティティを作成しました。クエリを実行したときのインデックス付きデータの結果*:*は、エンティティ ユーザーのうち 6 人のみであり、エンティティ クラスからは 3 人であり、ユーザーの合計行数は 9 です。
明らかに、この方法はうまくいかなかったので、シングルコアのみを使用してこれを達成するにはどうすればよいですか?
注:私は役に立たなかった DIHQuickStartとDIHチュートリアルに従いました。
solr - Solr DIH - フィールドはまだ存在しますが、定義されていません
DIH を使用して、sybase データベースから Solr にデータをロードします。これまでのところ、すべてがうまく機能しています。今、特定のフィールドをもうロードしたくないと決めました。そこで
<field column="BibCode" name="bibcode"/>
、data-config.xml の次の行を削除しました。次に、すべてのデータ (/solr/update?stream.body= :および /solr/update?stream.body=) を削除し、Tomcat を再起動してフル インポートを開始しました。今検索すると、フィールド bibcode にはまだコンテンツが含まれており、それがどこから来たのかわかりません。
私は何を間違っていますか?
database - SOLR & Sybase: DIH フルインポートの失敗
接続に Sybase ドライバーが必要な DB からインポートしようとしています。
data-config を使用した DIH からの完全インポート:
失敗して例外をスローする
SEVERE: 完全なインポートに失敗しました org.apache.solr.handler.dataimport.DataImportHandlerException: クエリを実行できません: WS.getCrefoSearchFieldsLimited('RU', '2011-10-01', 10) を呼び出します org.apache でドキュメント # 1 を処理しています。 solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:72) org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.(JdbcDataSource.java:253) org.apache.solr.handler.dataimport.JdbcDataSource でorg.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:39) の .getData(JdbcDataSource.java:210) org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:58) の) org.apache.solr の org.Apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:71) でhandler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:237) org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:357) org.apache.solr.handler.dataimport.DocBuilder.doFullDump( DocBuilder.java:242) org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:180) org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:331) org org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:370) での .apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:389) 原因: java.lang.NullPointerException at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.(JdbcDataSource.java:251) ... 11 詳細nextRow(EntityProcessorWrapper.java:237) の org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:357) の org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:242) org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:180) で org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:331) で org.apache.solr.handler org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:370) での .dataimport.DataImporter.runCmd(DataImporter.java:389) 原因: org.apache.solr での java.lang.NullPointerException。 handler.dataimport.JdbcDataSource$ResultSetIterator.(JdbcDataSource.java:251) ... 11 詳細nextRow(EntityProcessorWrapper.java:237) の org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:357) の org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:242) org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:180) で org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:331) で org.apache.solr.handler org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:370) での .dataimport.DataImporter.runCmd(DataImporter.java:389) 原因: org.apache.solr での java.lang.NullPointerException。 handler.dataimport.JdbcDataSource$ResultSetIterator.(JdbcDataSource.java:251) ... 11 詳細357) org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:242) で org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:180) で org.apache.solr .handler.dataimport.DataImporter.doFullImport(DataImporter.java:331) で org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:389) で org.apache.solr.handler.dataimport.DataImporter$1。 run(DataImporter.java:370) 原因: java.lang.NullPointerException at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.(JdbcDataSource.java:251) ... 11 詳細357) org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:242) で org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:180) で org.apache.solr .handler.dataimport.DataImporter.doFullImport(DataImporter.java:331) で org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:389) で org.apache.solr.handler.dataimport.DataImporter$1。 run(DataImporter.java:370) 原因: java.lang.NullPointerException at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.(JdbcDataSource.java:251) ... 11 詳細org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:389) で doFullImport(DataImporter.java:331) org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:370) で) 原因: java.lang.NullPointerException at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.(JdbcDataSource.java:251) ... 11 詳細org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:389) で doFullImport(DataImporter.java:331) org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:370) で) 原因: java.lang.NullPointerException at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.(JdbcDataSource.java:251) ... 11 詳細
間違った URL または不適切な dataSource 宣言を使用していませんか? SQLクライアントを介してその手順にアクセスできます。
localization - DIH、copyfiled、またはsql cast演算子を使用して2つの文字列をSolrロケーションデータフィールドに変換するにはどうすればよいですか?
私はschema.xml次のようにしています:
文字列である限り、DBから緯度をインポートすることができました。
簡単な解決策で2つの刺し傷を二重にコピー/変換するにはどうすればよいですか?
更新1: わかりました。文字列からdoubleへの変換は正しく機能しました。解決策に感謝します!私が今持っているのは、2つのダブルフィルです。
そして私が欲しいもの:1つの場所フィールドの2つのdouble値:
これまでに試したが機能しないもの:
簡単な解決策はありますか?前もって感謝します!
solr - solr dihでは、1つの場所に2つのダブルをインポートします
私が今持っているのは、2 つの二重フィールドです。
そして私が欲しいもの: 1 つの場所フィールドに 2 つの double 値:
私がこれまでに試したこととうまくいかないこと:
簡単な解決策はありますか?前もって感謝します!
solr - マルチコア solr で DIH を構成する
solr のマルチコア実装があります。DIH/コアを構成したい。シングルコアsolrで動作させることができました。つまり、コアの conf ディレクトリに data-import.xml を作成し、コアの solrconfig.xml を書き換えます。また、lib に dih のマッチング ドライバーをコピーしましたが、エラー メッセージが表示されます。
org.apache.solr.common.SolrException: org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:389) でクラス 'org.apache.solr.handler.dataimport.DataImportHandler' をロード中にエラーが発生しました ..... ...................................................
原因: java.lang.ClassNotFoundException: org.apache.solr.handler.dataimport.DataImportHandler at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java .net.URLClassLoader.findClass(URLClassLoader.java:205) で java.lang.ClassLoader.loadClass(ClassLoader.java:321) で java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:615) で java.lang.ClassLoader. org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader. java:373) ... 49 件以上
手がかり、私が間違っていることは何ですか? 前もって感謝します。
solr - SOLRDIHスケジューラが機能しない
dataimport.propertiesファイルでsolrスケジューラーのプロパティーを設定して、以下で説明されているようにインデックスを更新しました。
間隔=1で、その後、テーブルに新しいレコードを作成し、同じキーワードを再度検索しましたが、結果に新しいレコードが表示されず、合計レコード数が1レコード増加しません。
私は何かが欠けていますか
java - JBoss 上の Solr で DataImportHandler をインスタンス化できないのはなぜですか?
JBoss 5.1 で Solr 3.5.0 をセットアップしようとしています。すべてがうまく機能します。war を deploy dir にコピーし、すべての依存関係を dist および contrib ディレクトリから lib (または以前の deploy) ディレクトリにコピーしました。
サーバーを起動でき、すべて正常に動作しますが、DataImportHandler をアクティブにして DB のデータにインデックスを付けようとすると、エラーが発生します。
基本的に私がすることは、example/example-DIH/solr/db からコアをコピーすることです (または例全体、それは問題ではありません)。コアを solr.xml に登録すると、起動時にエラーが発生します。
私のリクエストハンドラーの定義は正しいと確信していますが、念のため:
私が知る限り、このエラーは DataImportHandler と SolrRequestHandler が異なるクラス ローダーを保持していることが原因である可能性があります。
例のstart.jarアプリからSolrを起動するたびに(Jettyサーバーを起動すると思います)、正常に動作します。
私の質問は次のとおりです。これは本当にクラスローダーの問題またはその他の原因によるものですか? そして、さらに重要なこと: どうすれば修正できますか?
solr - SolrScriptTransformerの戻り値
私は次のフィールドを持っています:
- データベースには、コンマ区切りのint、nullまたは空の文字列
property_industry_sectorのリストであるフィールドがあります。 - Solrスキーマ構成では、int型とmultivalued
property_industry_sector型の同じフィールドがあります。
私の問題は、DataImportHandler構成の違いに対処する必要があることです。私の試みは次のようになります。
ここでScriptTransformer、次の定義があります。
問題は、値がnullまたは空の文字列である一般的なケースにあります。これは、トランスフォーマーが何を実行しても、次の例外が発生するためです。
空の文字列がどこから来ているのか(整数に変換しようとしている)、例外の上に挿入しようとしている値にも混乱しているのかわかりません。
電話をかける前に行をクリアしてみましたput()。を返すnullか、現在の例と同じように、単一の値が。の行を返します0。
solr - 最も単純な Solr DIH インデックス作成
DIH を使用して、Solr のデータベースのデータにインデックスを付けようとしています。
そのため、次のように 2 つの構成ファイルを変更しました。
solrconfig.xml :
data-config.xml :
source_scellee は、テスト データベースのテーブルの名前です。多くのフィールドが含まれています。
明らかに、私は単純なテストを実行しようとしています。http://localhost:8983/solr/ dataimport ?command=full-import&clean=false&commit=trueを実行すると、次の結果が得られます。
サーバーログに警告もエラーもありません。4 は、テーブル「source_scellee」内のレコード数です。しかし、それはすべての文書が失敗すると言います。
http://localhost:8983/solr/admin/からクエリを実行しても、 まったく結果が表示されません!! どうすれば解決できますか?(「:」は結果なし)
ご協力ありがとうございました!!!
----編集--- これらの行を自分の schema.xml に追加しました:
ただし、結果は同じです。クエリを実行しても結果はありません(solrを再起動し、すべてのインデックスを再作成しようとしました)
------2 番目の編集 --- 動的インポートを試してみましたが、data-config.xmlは次のようになります。