問題タブ [lucene]

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 投票する
1 に答える
193 参照

search - ウェブ上の Lucene インデックス形式の IN DETAIL を説明しているまともなドキュメントがどこにあるか知っている人はいますか?

私は主にエンジン自体の内部の仕組みに興味があります。インデックス形式自体 (互換性のある独自の実装を構築しようとしているかのように IE の詳細) とそのしくみについては何も見つかりませんでした。私はコードを調べましたが、他の言語への互換性のあるポートが非常に多いため、どこかに記述しなければならないものを飲み込むには少し大きすぎます。誰でもまともなリンクを提供できますか?

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

mysql - lucene インデックスをデータベースに保存するにはどうすればよいですか?

これは私のサンプルコードです:

私はこの行で立ち往生しています:IndexWriter writer = new IndexWriter(jdbcDir, analyzer,false);

このコードを実行しようとするたびに、次の例外が発生します。

------"org.apache.lucene.store.LockObtainFailedException: ロック取得タイムアウト: PhantomReadLock[write.lock/tttable]"------------

コードの何が問題なのかわかりません。jar の互換性の問題である可能性があります。

IndexWriter オブジェクトを取得できません。

0 投票する
4 に答える
2387 参照

sql-server - SQL Serverの全文検索は、ドキュメントではなく、フレーズを検索するための適切なツールですか?

1単語から10単語の文まで、ドキュメントではなく3,000万の異なるフレーズがあり、単語/フレーズ検索をサポートする必要があります。基本的に、contains(phrase、"'book'または'stackoverflow'")が提供するもの。

SQL Server 2005(32ビット、4 proc、4gb)のインスタンスがいくつかのフルテキストカタログに反しており、カーディナリティの高い単語検索ではパフォーマンスがひどいです。

これが物事をスピードアップするための私の考えです、おそらく誰かがガイダンスを提供することができます-

1)2008 iFTS、64ビットにアップグレードします。Sql Server2005FTSのWindowsサービスは50MBを超えることはありません。私が収集したものから、カタログインデックスを検索するためにファイルシステムキャッシュを使用します。ディスクに入力されたカタログは約300MBしかないのに、なぜこれをすべてメモリに保存できないのでしょうか。sqlserverプロセスの一部であるiFTSの新しいメモリアーキテクチャは、ここで役立ちますか?

2)カタログを複数のサーバーにスケールアウトします。リンクされたFTSサーバーへのクエリは並行して実行されますか?

3)ここではドキュメントではなくフレーズを検索しているので、SQLServerの全文検索は答えではないかもしれません。Lucene.NET?カタログインデックスをRAMドライブに配置しますか?

0 投票する
5 に答える
20234 参照

python - Pythonファイルのインデックス作成と検索

検索を有効にする必要がある大きなセットオフファイル(hdf)があります。Javaの場合、ファイルとドキュメントのインデックス作成エンジンであるため、これにはLuceneを使用します。しかし、Pythonに相当するものが何であるかはわかりません。

高速検索のためにファイルの大規模なコレクションのインデックスを作成するために使用するライブラリを誰かが推奨できますか?それともあなた自身を転がすための好ましい方法ですか?

私はpylucenelupyを見てきましたが、どちらのプロジェクトもかなり非アクティブでサポートされていないように見えるので、それらに依存すべきかどうかはわかりません。

最後の注意:ウーシュとピルセンは有望なようですが、ウーシュはまだアルファ版であるため、信頼したいかどうかわかりません。また、ピルセンのコンパイルに問題があり、実際のリリースはありません。データをもう少し調べた後、それは主に数値とデフォルトのテキスト文字列であるため、現在はインデックス作成エンジンは役に立ちません。うまくいけば、これらのライブラリは安定し、後で訪問者はそれらのいくつかの用途を見つけるでしょう。

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

lucene - より複雑な Lucene クエリ文字列を作成するには?

この質問は、この質問からのスピンオフです。私の問い合わせは 2 つあるのですが、どちらも関連しているので、まとめておくとよいと思います。

  • プログラムでクエリを作成する方法。文字列の作成を開始し、その文字列をクエリ パーサーで解析できることはわかっています。しかし、他のリソースから少しずつ情報を収集しているので、これを行うためのプログラム的な方法があります。
  • Lucene クエリの構文規則は何ですか?

- 編集 -

作成したいクエリの要件の例を示します
。5 つのフィールドがあるとします。

  1. ファーストネーム
  2. 苗字
  3. 住所
  4. すべての

すべてのフィールドはオプションです。最後のフィールドは、他のすべてのフィールドを検索する必要があります。すべてのフィールドを調べて、それが IsNullOrEmpty() かどうかを確認します。そうでない場合は、クエリの一部を追加して、関連する検索部分を追加したいと思います。
名と姓は完全に一致し、他のフィールドよりも重要度が高くなる必要があります。Age は文字列であり、完全に一致する必要があります。アドレスは順序によって異なる場合があります。すべての順序が異なる場合もあります。

これについてどうすればよいですか?

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

nhibernate - Fluent NHibernate + Lucene 検索 (NHibernate.Search)

Fluent NHibernate を使用しており、Lucene で NHibernate.Search を実装したいのですが、Fluent NHibernate でそれを行う方法の例が見つかりません。2段階あるようです。(キャッスルによると)

  1. 構成で Hibernate プロパティを設定します。

    • hibernate.search.default.directory_provider
    • hibernate.search.default.indexBase
    • hibernate.search.analyzer
  2. 永続化されたオブジェクトにインデックスを付けるためのイベント リスナーの初期化

    • configuration.SetListener(ListenerType.PostUpdate, new FullTextIndexEventListener());
    • configuration.SetListener(ListenerType.PostInsert, new FullTextIndexEventListener());
    • configuration.SetListener(ListenerType.PostDelete, new FullTextIndexEventListener());

プロパティを Fluent NHibernate Source Configuration に追加する方法はわかりましたが、イベント リスナーが設定されている場所が見つかりません。

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

lucene - MultiFieldQueryParserのブーストファクター

MultiFieldQueryParserのさまざまなフィールドをさまざまな要素でブーストできますか?また、フィールドに割り当てることができる最大ブーストファクター値はいくつですか?

トンありがとう!エド

0 投票する
5 に答える
5831 参照

lucene - Lucene ブースト: 機能を改善する必要があります

Lucene を使用して、コンポーネントに名前と型のインデックスを付けています。一部のコンポーネントはより重要であるため、より大きなブーストが得られます。ただし、ブーストを適切に機能させることができません。ブーストが高いにもかかわらず、いくつかのコンポーネントが後で表示されるようにします (スコアが悪くなります)。

インデックス作成は 1 つのフィールドのみで行われ、そのフィールドのみにブーストを設定したことに注意してください。JavaでLuceneを使用しています。

フィールドの長さとは何の関係もないと思います。同じ名前の (ただしタイプが異なる) コンポーネントが間違ったスコアを取得するのを見てきました。