lucene.net を使用してデータを検索したいと考えています。lucene.net と nhibernate を組み合わせて検索を行う nhibernate search について読みました。
ただし、流暢な nhibernate を使用しており、linq を使用するのが好きです。流暢な nhibernate を使用しても問題はないと思いますが、linq を nhiberante 検索で使用する例を見つけることができないようです。
リンクは使えますか?
lucene.net を使用してデータを検索したいと考えています。lucene.net と nhibernate を組み合わせて検索を行う nhibernate search について読みました。
ただし、流暢な nhibernate を使用しており、linq を使用するのが好きです。流暢な nhibernate を使用しても問題はないと思いますが、linq を nhiberante 検索で使用する例を見つけることができないようです。
リンクは使えますか?
NHibernate.Search と FluentNHibernate の両方を同時に使用できます。必要なのは、ISessionFactory の作成時に NHibernate.Search リスナーを接続することだけです。
個人的な意見先!
全文検索機能を使用するために linq を使用するのは好きではありません。これは、本物の、通常は強力なインターフェイスを、機能を低下させた API の背後に隠そうとする試みにすぎません。通常、途中で何か問題が発生したり、失われたりすることがあります。(例は、単純な を使用した linq-to-sql で、where user.Alias == "sisve"
自動的に sql に変換さWHERE Alias = 'sisve'
れます。C# で大文字と小文字を区別する比較が、SQL Server の標準インストールでは大文字と小文字を区別しない比較になることを理解するには、ある程度の詳細な知識が必要です。 )
NHibernate と Lucene はどちらも強力なライブラリですが、私はそれらを分けておくべきだと思います。自分で Lucene インデックスを作成し (NHibernate.Search リスナーと同様に、カスタム リスナーを使用してこれを行うことができます)、自分でクエリを実行します。これにより、両方のシステムがどのように機能するかについてより良い洞察が得られ、より良い検索を実装するためにこれをより簡単に構築できます (つまり、ファセット、カスタム ブースティングなど)。