2016-07-05 6 views
0

私はHibernate Search 5.5 Reference Guideがセクションのフレーズクエリを記述していることを知っています。5.1.2.4。フレーズクエリはですが、そのようなフレーズクエリは正規表現の代わりにスロープファクタのみを許可します。フレーズで検索し、正規表現をHibernate Searchで使用する方法はありますか?

Hibernate Searchでフレーズで検索して正規表現を使用できるようにする方法はありますか?ありがとう。

+0

HQLには正規表現([ref](http://stackoverflow.com/questions/14245453/hibernate-regex))のサポートはありませんが、あなたの特定のDBが持っている正規表現機能([ref](http://stackoverflow.com/questions/17702544/hibernate-regexp-mysql))。 –

+0

こんにちはTim。あなたの返信と参考に感謝します。今では、全文検索を行うためにHibernate SearchとLuceneを使用しています。 HQLを使用するのは初めてのことであり、Hibernate SearchとLuceneと一緒にHQLを使用する方法は見つけられていません。 Hibernate SearchとLuceneはいくつかのAPIメソッドを提供しており、それらを使って検索を行っているだけで、通常のHibernateクエリのようなHQLステートメントを渡すためのインターフェイスはないようです。私が間違っていれば私を修正してください。ありがとう。 –

+0

@TimBiegeleisen 'Hibernate Search'はHQLに関連していませんが、SQLやHQLで取得できるクエリ機能のはるかに強力な拡張機能です。あなたはそれが何であるかわからないように見えます、あなたは多くの強力な機能を逃しています!リンクされたリファレンスガイドを見ることをお勧めします。 – Sanne

答えて

3

セクション5.1.2.4に、Hibernate Search DSLを使用したフレーズクエリを使用した簡単な例を示します。

あなたはそれが最も簡単なユースケースのために提案方法ですので、しかし、あなたがDSLをバイパスし、LuceneのAPIを使用して、任意のLucene Queryを作成し、Queryを使用することができ、このような自動型変換などいくつかの助けを得るDSLを使用DQLを使用して構築されたようなインスタンスです。

正規表現クエリについては、org.apache.lucene.search.RegexpQueryを参照してください。

すべてのApache Luceneクエリインスタンスは、Hibernate Searchと互換性があります。

関連する問題