問題タブ [solr4]
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.
tomcat7 - 数千のSolrドキュメントをコミットした後のSOLR 4.1メモリ不足エラー
次のオプションを使用して、Tomcat 7およびJava 7内で実行されているsolr 4.1をテストしています
JAVA_OPTS="-Xms256m -Xmx2048m -XX:MaxPermSize=1024m -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+ParallelRefProcEnabled -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/ubuntu/OOM_HeapDump"
ソースコードは次のようになります。
メソッド「getNextSolrInputDocument()」は、100 フィールド (平均) の solr ドキュメントを生成します。約 50 のフィールドが「text_general」タイプです。一部の「test_general」フィールドは約 1000 語で構成され、残りは少数の語で構成されます。合計フィールドのうち、約 35 ~ 40 個の多値フィールドがあります (「text_general」タイプではありません)。
すべてのフィールドにインデックスを付けていますが、保存するフィールドは 8 つだけです。これらの 8 つのフィールドのうち、2 つが文字列型、5 つが long、1 つがブール型です。したがって、インデックス サイズはわずか 394 MB です。ただし、OOM 時に占有される RAM は約 2.5 GB です。インデックスのサイズが小さいのに、メモリが非常に多いのはなぜですか? メモリには何が保存されていますか?私たちの理解では、コミットのたびにドキュメントがディスクにフラッシュされるため、コミット後に RAM には何も残らないはずです。
次の設定を使用しています。
約 3990 の solr ドキュメントをコミットした後、Java heap Out Of Memory Error が発生します。プロファイラーからのメモリ ダンプのスナップショットの一部は、次のリンクにアップロードされています。
http://s9.postimage.org/w7589t9e7/memorydump1.png
http://s7.postimage.org/p3abs6nuj/memorydump2.png
私たちの場合、メモリ消費を最小化/最適化するために何をすべきか、理由を教えてください。また、solrConfig.xml の次のパラメーターの最適な値と理由を提案します。
-
- useColdSearcher - true/false?
- maxwarmingsearchers- 番号 - スペルチェックのオン/オフ?
- omitNorms=true/false?
- TermFreqAndPositions を省略しますか?
-マージファクター?デフォルト値 10 を使用しています
- Java ガベージ コレクション チューニング パラメータ?
solr - Solr4.1でのCopyFieldの問題
私はSolr3.6.1を使用しており、非常に満足しています。次に、solr4.1に進みます。そこで、「schema.xml」と「solrconfig.xml」(マイナーな変更を加えたもの)を取得して、新しいsolr4.1構成の下に配置しました。インデックス作成は成功しました(DIH)。しかし、私は問題に気づきました。「schema.xml」には、異なる「タイプ」を使用して同じフィールドにインデックスを付けるための「copyField」ディレクティブがあります。solr4.1で同じ構成を使用してインデックスを作成しようとすると、インデックスサイズはsolr3.6.1のインデックスサイズの半分になります(クエリを実行すると、異なる結果が得られます)。Solr4.1で何か変更はありますか?私はこれについてほとんど助けを必要としません。
schema.xml:
solrconfig.xml
よろしく、
トム
solr - xmlファイルのDIH(データインポートハンドラー)がSolr4で機能していません
サーバーにSolr4とtomcat6をインストールして構成しました。正常に動作しますが、DIH(データインポートハンドラー)をビルドしようとするとエラーが発生し、解決できません。
solrconfig.xmlファイルに次のコードを追加します
私のdata-config.xmlファイルは次のようになります
localhost:8080 /solr/を押したときにブラウザ
で発生したエラーエラーログのエラーは次のとおりです。
このエラーを解決するにはどうすればよいですか?
solr - SOLRで.htmlファイルのインデックスを作成するにはどうすればよいですか
インデックスを作成したいファイルはサーバーに保存されています (クロールする必要はありません)。/path/to/files/ サンプルの HTML ファイルは
solrconfing.xml ファイルにリクエスト ハンドラを追加しました。
私のdata-config.xmlは次のようになります
デフォルトの schema.xml ファイルを保持し、次のコードを schema.xml ファイルに追加しました。
セットアップ後に完全インポートを実行しようとすると、すべての html ファイルがフェッチされたことが示されます。しかし、SOLRで検索しても結果は表示されませんでした。考えられる原因は何ですか?
私の理解では、すべてのファイルが正しくフェッチされましたが、SOLR でインデックスが作成されていません。SOLRでこれらのメタタグとHTMLファイルのコンテンツにインデックスを付ける方法を知っている人はいますか?
あなたの返信をいただければ幸いです。
solr - 複数値フィールドでSolr4を使用したオートコンプリート機能
複数のフィールドでオートコンプリートを実行することについての投稿を見ましたが、複数値のフィールドでオートコンプリートを実行することについては投稿していません。
私のオートコンプリート機能は、非複数値フィールドで機能しています。
私の問題は、複数値フィールドでクエリを実行すると、ドキュメントがそのクエリに一致する場合は常に、そのドキュメントの複数値フィールドのすべてのフィールドがファセット結果に返されることです。
以下は、Solr4クックブックで提案されているものと同様の私のスキーマです。
ご覧のとおり、publisherTextは複数値のフィールドです。オートコンプリート機能をテストするには、次のようなクエリを実行します。
クエリは「新規」であり、これは一連のドキュメントと一致します。ただし、ファセット結果セットには、一致する各ドキュメントの他のpublisherText値(複数値フィールドに含まれる)が含まれています。
更新:「new」をクエリする場合、結果セットには「NewYorkTimes」と「TimesNewRoman」が含まれている必要がありますが、中置問題を解決する必要はありません。「KnewtonGazette」が結果セットに含まれている必要はありません。
ファセットの結果にクエリに一致する値のみを含める方法はありますか?または、multiValuedフィールドをより適切に処理する完全なオートコンプリート機能をサポートする別の(より良い?)方法はありますか?
ありがとう。
solr - HTML ファイルからメタタグを抽出し、SOLR および TIKA でインデックス化する方法
HTML ファイルのメタタグを抽出し、tika 統合を使用してそれらを solr にインデックス付けしようとしています。これらのメタタグを Tika で抽出できず、solr で表示できません。
私のHTMLファイルは次のようになります。
私のdata-config.xmlファイルは次のようになります
私の schema.xml ファイルに、次のフィールドを追加しました。
solrconfing.xml ファイルに次のコードを追加しました。
これらのメタタグを HTML ファイルから抽出し、solr と Tika でインデックスを作成する方法を知っている人はいますか? あなたの助けに感謝します。
solr - カテゴリ/サブカテゴリのSolrグループ化
私はまだSolrの領域では非常に初心者です。
カテゴリ別にグループ化して、sub_categoriesの一意のリストを返すクエリを作成しようとしています。私のスキーマは次のようになります。
次のような返品に興味がありますが、どうすればよいかわかりません。ほぼここに到達できますが、問題は、sub_category列に一意の値を返すことができないことです。以下の例では、個別のsub_categoriesを説明しています。
solr - Solr4 は現在、デフォルトの「df」フィールドのみを調べます。複数のフィールドを検索するにはどうすればよいですか?
/select
Solr 4 では、リクエスト ハンドラでデフォルト フィールド「df」を設定したことがわかります。
しかしid
、これは独自のドキュメント フィールドであるため、すべてのクエリはデフォルトで "id:my_query" になり、常に 0 の結果が返されます。
デフォルトで照会するフィールドを定義するにはどうすればよいですか?
これは v3 から v4 へのアップグレードであり、途中でこの部分が壊れているようです。