問題タブ [solrj]
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.
lucene - Solr/Solrj: インデックス内のドキュメントの総数を確認するにはどうすればよいですか?
Solrj を使用して Solr インデックス内のドキュメントの総数を確認するにはどうすればよいですか?
自分で何時間も検索した後、実際に答えがあります(以下に示します)。他の人がより簡単に解決策を見つけられるように、この質問を投稿するだけです。
solr - Solr / SolrJ:巨大なArrayListを作成せずに結果を反復する方法
巨大なメモリ内を返すのではなく、反復中に結果が増分的にフェッチされるように、Solrj応答を反復する方法はありますArrayList
か?
または、これに頼る必要がありますか?
そして、私がトピックに取り組んでいる間、なぜ戻るときに、がSolrQuery.setStart()
必要なのですか?integer
SolrDocumentList.getStart()/getNumFound()
long
autocomplete - Solrj: パスの指定方法
TermsComponentを使用してSolrj でautosuggest/terms
を実装しようとしていますが、パス (つまり の部分)を指定する方法がわかりませんhttp://localhost:8983/solr/terms
。
Solrjを使用してパスを指定するにはどうすればよいですか?
おまけ:terms.fl
パラメータに複数のフィールドを指定する方法はありますか?
ありがとう
solr - solrではワイルドカード検索のみが機能しています
SolrJを使用していくつかのドキュメントのインデックスを作成しましたが、SolrJを使用して同じインデックスを検索したいと思います。組み込みサーバーを使用していません。
私のインデックスのWebベースのパネルから結果を取得することさえできません。
"*:*"
ps:ところで、インデックス作成は正常に行われています。クエリ でワイルドカード検索を実行して、インデックスが作成されていることを確認しました。
検索スニペットは次のとおりです。
これがschema.xml です。リンクが機能しないかどうか教えてください...
search - Solr で「schema.xml」という概念を作成したのはなぜですか?
Lucene は、すべて「コーディング」を使用して検索とインデックス作成を行います... なぜ Solr は同じことをしないのですか? なぜ schema.xml が必要なのですか? その重要性は何ですか?必要なすべてのフィールドを schema.xml に配置しないようにする方法はありますか? (私は、動的フィールドが進むべき道だと思いますよね?)
lucene - Solrに埋め込まれているLuceneをカスタマイズできますか?
生のLuceneと同じように、Solrに埋め込まれているLuceneをカスタマイズできますか?SolrのLuceneにある「すべて」を持つことができるようにするには?
SolrとLuceneを決定する段階で立ち往生しているので、私はこれを求めています:
引数1:
「将来、Solrを選択するとデッドゾーンに陥る可能性があります。そのため、Luceneの方が適しています。したがって、安全を確保するために、Luceneの上にHTTPラッパーとSolrのほぼ半分を書き始めることもできます。」
引数2:
「Solrにはすでに使用したいすべての機能があるので、それを使用しないのはなぜですか?Luceneにコミットする人もSolrにコミットする責任があるため、Luceneのすべての機能をSolrでも使用できます...」
私は次のようなことを言う多くのブログや投稿を調べました:
Lucene APIクラスへの低レベルのアクセスを必要とする非常にカスタマイズされた要件がある状況では、Solrは間接的な追加レイヤーであるため、ヘルプよりも障害になります。
-http://www.lucenetutorial.com/lucene-vs-solr.html
引数2を防御する1つの方法は、Luceneしかない場合と同じように、Solrで基になるLuceneをカスタマイズできることを確認することです。
誰かがこの議論を閉じるためのより良い方法を提供できますか?:)
ps:テラバイト単位のデータのインデックス作成とシャーディングを使用した高速検索が必要です...
solr - SolrのTermsComponentの用語を特定のドキュメントに由来する用語に制限する
SolrsTermsComponentを使用してオートコンプリート機能を実装しています。私のドキュメントには、「タグ」フィールドにインデックスを付けたタグが含まれています。これで、TermsComponentを使用して、保存されているすべてのドキュメントで使用されているタグを見つけることができます。これは今のところかなりうまく機能しています。
ただし、いくつかの追加要件があります。すべてのドキュメントには、それを所有するユーザーのIDを含む所有者フィールドがあります。オートコンプリートリストには、オートコンプリートをリクエストしているユーザーが実際に所有しているドキュメントのタグのみを含める必要があります。
クエリパラメータを設定しようとしましたが、これはTermsComponentによって無視されているようです。
では、TermsComponentによって返されるタグを制限する方法はありますか、それともユーザーのすべてのタグを手動でクエリして自分でフィルタリングする必要がありますか?
lucene - Solr を使用したコスト比較
pricegrabber.com/google product search のようなものを構築する予定です。
巨大なテーブルで利用可能なデータが既にあるとします。これをすべてSolrに提出する予定です。これにより、検索の問題が解決されます。しかし、私は比較を行う方法がわかりません。DBでSolrから返された製品に対して、(UPC / SKUで)クエリごとにグループ化できます。しかし、私はそれをしたくありません。Solr自体からの検索とともに、製品比較データが返されるようにしたいと考えています。
私のスキーマはどうあるべきだと思いますか? このユースケースはすべて Solr/Sphinx で解決できると思いますか?
solr - Solrj (1.4.1) パフォーマンス関連のクエリ
プロジェクトでSolrjをSolrクライアントとして使用しています。
検索中にいくつかの単語を検索すると、Solrj が応答を送信するのに時間がかかるようです (たとえば、8 ~ 12 秒)。他の単語のほとんどを検索している間は、Solrj の方が時間はかからないようです。
たとえば、ブラウザに検索 URL を投稿すると、QTime がミリ秒単位でのみ表示されます。
http://serverName/solr/mydata/select?q=computing&qt=myhandler&fq=category:1
ただし、以下のように自分のプロジェクトから Solrj を使用して同じクエリを実行すると、同じ結果が得られるまでに長い時間 (8 ~ 12 秒) かかります。したがって、Solrj が結果を出すのにそんなに時間がかかるのではないかと思います。
SolrServer サーバー = 新しい CommonsHttpSolrServer(url); SolrQuery query = new SolrQuery("コンピューティング"); query.setParam("qt", "myhandler"); query.setFilterQueries("カテゴリ:1"); query.setHighlight(false); QueryResponse rsp = server.query(クエリ);
POTH と GET メソッドの両方を試しました。しかし、どちらも時間がかかります。
なぜSolrjが特定の単語に対してこんなに長い時間がかかるのか考えてみてください。検索結果として、約 40 のドキュメント リストが返されます。そのための強調表示もコメントアウトしています。
そして、それをスピードアップするためのあらゆる方法。
注: Tomcat を使用しており、ヒープ サイズを約 1024 MB に設定しています。そして、Solr 1.4.1 バージョンを使用しています。
ありがとう、
solr - SolrJ: 自動コミットを無効にする
Solr のインスタンスがあり、solrconfig.xml で autoCommit をオンにすると、実際にニーズを満たすことができることがわかりました。ただし、自動コミットを一時的に無効にしたいインスタンスやバッチ操作がいくつかあります。私は何も見つけることができませんでしたが、SolrJを介して特定のプロセスの自動コミットを無効にしてから再度有効にできるかどうかを誰かが知っていたのでしょうか?