問題タブ [lucene.net]
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 - 2 つのアプリケーション サーバー間での Lucene インデックスの同期
Web サーバー (IIS 7) でホストされている asp.net Web アプリケーションを使用しています。検索機能に Lucene を使用しています。Lucene 検索要求は、2 つのアプリケーション サーバー (IIS 7) にある .Net WCF サービスによって処理されます。2 つのアプリケーション サーバーは、「netscaler」を使用して負荷分散されます。
これらのサーバーは両方とも、夜間にそれぞれのサーバーの検索インデックスを毎日更新する .net Windows サービスをホストしています。
これら 2 つのサーバーの検索インデックスを同期して、いつでも両方のサーバーのインデックスが最新になるようにする必要があります。可用性に応じて 2 つのアプリケーション サーバーのいずれかが検索要求を処理できるという事実を考慮して、最適なアーキテクチャ/設計戦略は何かを考えていました。
入力してください。
読んでくれてありがとう!
lucene.net - nhibernate.search クエリでフィールド名の大文字と小文字を区別する方法
ユーザーがクエリを作成するときに、クエリのフィールド名を大文字と小文字を区別したいと思います
また
Hibernate Search でも同じ結果が得られます。
Lucene が機能する方法を理解しているので、フィールド名は大文字と小文字が区別されます。インデックス作成時にフィールド名を小文字にし、検索時にフィールド名を小文字にするように NH Search/Lucene を構成する方法はありますか?
lucene - Luceneを使用したロケーションベースの検索のパフォーマンスの向上
.netを使用した求人検索ポータルにLuceneを使用しています。次のユースケースで、パフォーマンスに関連するいくつかの問題に直面しています。ユースケースは次のとおりです。求人検索を行う場合、ユーザーは求人の場所(たとえば、ジョージア州アトランタ)と半径距離(たとえば50マイル)を選択できます。Luceneから求人検索結果を返すのに必要な時間はかなり長くなります。
参考までに、米国とカナダを拠点とする都市、州、経度、緯度を格納するSQL Server 2005データベースを維持しています(合計で約100万件のレコードが含まれています)。
とにかく、このロケーションベースの求人検索のパフォーマンスを向上させることができますか?
lucene - Lucene インデックスの生成プロセスがいつ完了したかを知る方法
Lucene 検索インデックスを毎晩生成する .net Windows サービスがあります。最初にデータベースからすべてのレコードを取得し、IndexWriter の AddDocument メソッドを使用して Lucene インデックスに追加し、メソッドから戻る前に Optimize メソッドを呼び出します。フェッチされたレコードは非常に大きいため、インデックス作成が完了するまでに約 2 ~ 3 分かかります。ご存じのとおり、Lucene はインデックスの生成中に中間セグメント ファイルを生成し、Optimize が呼び出されるとインデックス全体を 3 つのファイルに圧縮します。
とにかく、このインデックス生成プロセスが Lucene によって終了し、インデックスが検索に使用できることを知ることができますか? 処理が完了したときに別のメソッドを呼び出したいので、これを知る必要があります。
indexing - 方法:Lucene.netのインデックス作成速度を上げる
私は約200万レコードのLuceneを作成しようとしています。インデックス作成時間は約9時間です。パフォーマンスを向上させる方法を教えてください。
lucene - Luceneを使用したロケーションベースの検索のためのSpatialQuery
私のluceneインデックスには、緯度と経度のフィールドが次のようにインデックス付けされています。
このインデックスから、lat値とlong値が指定された範囲内にある一連のドキュメントを取得したいと思います。
すでにご存知のように、Latとlongは負の値になる可能性があります。符号付き10進数をLuceneに正しく保存するにはどうすればよいですか?以下に述べるアプローチは正しい結果をもたらしますか、それともこれを行う他の方法はありますか?
また、LuceneのConstantScoreRangeQueryがRangeQueryクラスよりも優れていることを知りたいと思いました。
このコンテキストで別の問題に直面しています。次の3つの都市のインデックスにあるドキュメントの1つがあります。
イリノイ州ライオンズ
イリノイ州オークブルック
サンフランシスコ、カリフォルニア州
「Lyons、IL」として入力すると、このレコードが表示されます。しかし、入力としてカリフォルニア州サンフランシスコを指定した場合、そうではありません。
ただし、このドキュメントの都市を次のように保存すると、次のようになります。
サンフランシスコ、カリフォルニア州
イリノイ州ライオンズ
イリノイ州オークブルック
カリフォルニア州サンフランシスコを入力すると、このレコードが検索結果に表示されます。
ここで必要なのは、入力に3つの都市のいずれかを入力すると、検索結果にこのドキュメントが表示されるはずです。
私がこれを達成するのを手伝ってください。
ありがとう。
lucene - LuceneのConstantScoreRangeQuery
LuceneのConstantScoreRangeQueryは、古いRangeQueryよりもどのように優れていますか?
どのような場合でも、RangeQueryを使用する必要がありますか?
lucene - Lucene で緯度と経度の値を正しくインデックス付けする
Lucene API を使用して、「指定された半径内の米国ベースの最寄りの都市検索」機能に取り組んでいます。次のように、Lucene で都市の緯度と経度の値にインデックスを付けています。
Lucene は数値ではなく文字列のみを理解するため、緯度と経度の値をパディングしています。
たとえば、元の緯度と経度がそれぞれ 41.811846 と -87.820628 の場合、パディング後の値は次のようになります。
paddedLatitude -->"0041.811846" および paddedLongitude -->"-087.820628"
最も近い都市のクエリを作成するときに同じパディングを行っています (Lucene の ConstantScoreRangeQuery クラスを使用)。
緯度と経度の値が 10 進数/負の数である可能性があるという事実を考えると、lucene がこれらの値に対して数値範囲/比較操作を実行するときに検索結果で正しい最も近い都市を取得できるように、これはそれらにインデックスを付ける正しいアプローチですか?
ありがとう。
c# - ASP.NETWebサイトの優れたLucene.NET代替
Lucene.NETをASP.NETWebサイトで使用するための適切な代替手段はありますか?
XMLファイル、TXTファイル、PDFファイル、およびDOCファイルにインデックスを付けたい。
ありがとう!
c# - Lucene.net でカスタム フィルターを実装するにはどうすればよいですか?
以下のコードは、Lucene In Action ブック (原文は Java) からのものです。これは、(ユーザー許可の観点から) 「許可された」ドキュメントのリストを作成して、検索結果をフィルタリングするためのものです。問題は、termsDocs.Read() メソッドが 'doc' および 'freq' 配列を参照によって渡されることを受け入れないため、ビット配列にビットを設定する場合、それらはまだ空のままです。
Lucene カスタム フィルター (特に .net) を使用する例は、地面に薄いようです。ありがとう。
私は Lucene.net 2.0.0.4 を使用していますが、最新のブランチ ( https://svn.apache.org/repos/asf/incubator/lucene.net/trunk/C ) の TermDocs インターフェイスは同じように見えます。 %23/src/Lucene.Net/Index/TermDocs.cs