問題タブ [hibernate-search]

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 に答える
859 参照

hibernate - PlayFramework Search /HibernateSearchを使用した複雑な全文検索

モデルオブジェクトのタイプが2つしかないとします。

タグ記事

Articleには、可変数のタグと、Articleの本文を含む大きなテキストフィールドを含めることができます。

定義したタグのセットに一致する記事の効率的な全文検索を実行するにはどうすればよいですか?たとえば、100万件の記事のうち、1)body:business *に一致し、2)「America」、「Economy」のタグが付けられ、 "アジア"?

1)(HQLまたはプレーンな古いSQLを使用)と2)(luceneクエリを使用)を別々に効率的に実行できますが、両方を一緒に実行することはできません。誰かアイデアがありますか?

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

hibernate - 休止状態の検索、最も高い値を持つオブジェクトを除外します

こんにちは私はこのようなEntityObjectを持っています

同じ名前のオブジェクトの最高バージョンを持つすべてのオブジェクトにフィルターを追加したいと思います。フィルタを使用したり、クエリを作成したりするときに、これを行う方法を知っている人はいますか?

HibernateSearchバージョン3.3.0を使用しています。

// Trind

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

hibernate - HibernateSearch3.3-Word内の空白を無視する

アプリケーションで休止状態検索3.3を使用しています。

私の検索フォームには、テキストフィールド、ドロップダウン、リストボックスなどがあります。単語、数字、日付を検索する必要があります。基本的にマルチフィールド検索。

私の問題は、単語内の空白を含む単語で検索を実行できないことです。

次に例を示します。リストボックスには、複数選択を可能にする一連の従業員名があります。したがって、Javaレイヤーでは、次のような配列で値を取得します-[Ankita Murthy、Ahana Gupta、Archita Patel]
ここで、これらの名前をコンマで区切り、データベースのemployee_name列と照合して結果を取得する必要があります。単語内の空白のため、一致は失敗しています。

少し調べてみたところ、これを実現するためにアナライザーを変更できることがわかりましたが、理解できません。

また、アナライザーを変更して大文字/小文字を無視するようにガイドしてください

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

indexing - MassIndexer の後のファイル数は、hibernate-search 3.4.0 では巨大です

MassIndexer を使用してインデックスを作成します。3.2.1 から Hibernate-search 3.4 に移行した後、ファイルの最終的な数は本当に膨大です (.cfs 拡張子付き)。大丈夫だった前に。同時に lucene-core 3.1.0 に移行

なぜそれが起こったのか誰か説明してもらえますか?

前進する戦車!

アルテム

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

hibernate - 休止状態検索でインデックス ファイルの場所を指定する

こんにちは、私は休止状態の検索を使用しています。現在、インデックス ファイルの場所を指定したいので、次のようにプロジェクト内でインデックスを作成しています。

しかし、アプリ外の場所へのインデックスを指定する方法を考えていたので、次のようなことを試しました

しかし、それはうまくいきませんでした。

0 投票する
6 に答える
14572 参照

hibernate - Solr vs Hibernate Search-どちらをいつ選択するか?

私たちはeコマースアプリケーションを構築しています。HibernateとSpringFrameworkでJAVAスタックを使用しています。すべてのeコマースアプリケーションと同様に、検索機能を組み込む必要があります。

そこで、 HibernateSearchApacheSolrに出くわしました。エンタープライズ検索に最適なソリューションを選択できるように、両方の長所と短所を誰かがリストアップできますか?

0 投票する
6 に答える
5270 参照

java - Hibernate Search、Lucene、またはその他の代替手段?

大きくない(500 000)テーブルの11個の文字列またはテキストフィールドに対してILIKEを実行しているクエリがありますが、明らかに大きすぎるILIKEの場合、検索クエリには約20秒かかります。データベースはpostgres8.4です

この検索をより高速に実装する必要があります。

私の頭に浮かんだこと:

  1. 検索が必要なすべての列から組み立てられた追加のTVECTOR列を作成し、その上に全文索引を作成しました。全文検索は非常に高速でした。しかし...このTVECTORタイプを.hbmsにマップすることはできません。したがって、このアイデアは失敗しました(いずれにせよ、私は一時的な解決策としてそれをもっと考えました)。

  2. 休止状態の検索。(今日初めて聞いた)それは有望なようですが、もっと簡単にできることのために、おそらく最も単純なものではない新しいAPIに乗り込みたくないので、経験豊富な意見が必要です。

  3. Lucene

いずれにせよ、これはこのテーブルで今起こっていますが、私はより一般的で、全文検索に関連する将来のケースに適用されるように解決したいと思います。

すべてのアドバイスに感謝します!

ありがとう

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

hibernate - 私の状況にはどのアナライザーが適していますか? ハイバネート検索ケース

本の検索アプリを実行しています。休止状態の検索によって実装されます。

Book エンティティは次のように定義されます。

たとえば、ユーザーが書籍名を検索すると、Microsoft Access 2007 と入力すると、タイトルまたは説明を含む書籍に microsoft、access または 2007 が返されます。それが私たちが期待したことです。キーワード 2007 のため、まったく関係のない書籍もあります。各キーワードの重要性を理解するための解決策を探しています。その場合、2007 年は検索でそれほど重要ではありません。しかし、その検索では、microsoft、access、または 2007 に違いはありません。

2 番目のユーザー ケース: 複数のフレーズをサポートするためにインデックス作成とクエリで使用できる優れたアナライザーはありますか? 休止状態検索のデフォルトのアナライザーは、検索語を単一の単語にトークン化するだけだと思いましたか?

検索ワードが microsoft access 2007 の場合、結果に「microsoft access」が含まれている場合に最高のスコアが表示されます。

もう 1 つの検索例: "salt lake city", "united states", "salt, city" または "lake" のみに一致する場合、結果は期待されません。

誰か手がかりを教えてもらえますか?

ありがとう!

0 投票する
0 に答える
342 参照

java - Lucene の削除可能なファイルがロックされている

MassIndexer のインデックスを再作成するために使用します。あるサイトからコードの例を入手しました(場所を思い出せません)。

しかし、数回再インデックスした後、インデックスのサイズは本当に巨大になりました。これを解決する方法についての提案。

ルセン 言う:

これは、最適化しているインデックスに対してリーダー (IndexReaders または IndexSearchers) も開いている場合は常に、Windows での通常の動作です。Lucene は、マージ (最適化) された古いセグメント ファイルを削除しようとします。ただし、Windows では読み取り用に開いているファイルを削除することは許可されていないため、Lucene はこれらのファイルを削除する IOException をキャッチし、保留中の削除可能なファイルを「削除可能な」ファイルに記録します。次のセグメント マージでは、明示的な optimize() または close() 呼び出しで発生し、また IndexWriter が内部 RAMDirectory をディスクにフラッシュするたびに (すべての IndexWriter.DEFAULT_MAX_BUFFERED_DOCS (デフォルト 10) addDocuments)、Lucene はこれらのファイルの削除を再試行します (および追加のもの)、それでも失敗するものは削除可能なファイルに書き直されます。

しかし、私はこれを解決する方法があると信じています。いずれにせよ、インデックスはいつでも誰かによって使用されているため、すべての空き領域を占有します..

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

hibernate - 列挙型で期待される結果が得られない休止状態の検索フィルター

休止状態の検索3.4を使用していますが、小さな問題が発生しています。使用しようとしているフィルター(CourseStatusFilterFactory)がありますが、それを有効にするたびに結果が返されません。問題なく動作する別のフィルター(DeletedFilterFactory)があるので、問題が何であるかわかりません。

これが私が検索しようとしているオブジェクトです:

私のFilterFactory:

フィルタを有効にするには:

コードをデバッグすると、フィルター内のクエリが「coursestatus:PUBLISHED」に設定されていることがわかりますが、結果は数十あるはずですが、まだ0です。

どこから始めればいいのか?