2016-08-24 8 views
0

私は2つのテーブル、例えばBooks、Authorを持っています。すべての本のreordは著者idによって参照されます。 指定されたキーワードに一致し、特定の著者に固有の書籍を検索したいと思います。 hibernate lucene検索を使用してこれを達成するには? フィルタを使用する必要がありますか?hibernate lucene検索を使用して、指定された親のフィールドを検索します。

答えて

1

Hibernate Searchのドキュメントを読んでください:ドキュメントの最初のセクションの例があります。

https://docs.jboss.org/hibernate/stable/search/reference/en-US/html_single/#_configurationから開始してください。次の段落で説明するすべての手順を実行します。

Hibernate Search DSLを使用すると、ブックフィールドでキーワードを最初に照合し、author.idフィールドを使用して著者を照合することで簡単にクエリを構築できます。

+0

matching()メソッドがコンテンツ全体に一致しません。それはコンテンツの一部と一致しています。たとえば、一致( "e7e36af9")メソッドはe7e36af9-1379-4ebf-92c1-a56daf5e1494とe7e36af9-8995-4109-ae99-6cbc6d8c027dの両方に一致しますが、正確な値を持つレコードが必要です。 –

+0

StandardAnalyzerの代わりにキーワードベースのアナライザー(KeywordTokenizerを参照)を使用する必要があります。マニュアルのアナライザーのセクションを参照してください。とにかく、これは別の質問です。 –

0

KeywordTokenizerの代わりに@Field(analyze = Analyze.NO)があります。正確な値にも一致します。

関連する問題