Hey Guys、 アプリケーションに検索機能を実装しようとすると、書き込みがありました。Solr/SolrNet - 文字検索による文字の検索にワイルドカードを使用する
Tomcat7で実行されているSolr 1.4.1 ビューのインデックス付きのMS SQLServerへのJDBC接続 Solrのインデックス作成が完了し、インデックスが機能しています。
Solrを検索して通信するには、少しテストしたWCFサービス(私たちのメインサービスで後で実装する)を作成しました。
主なアプリケーションにテキストフィールドを実装することを目的としています。このテキストフィールドでは、ペイントブラシのようなものを入力し、ますます多くの文字が入力されるにつれてオブジェクトのリストを徐々にフィルタリングすることができます。
これは、ある時点までSolrでうまく動作しています。イムかなり(ちゃんと私のクエリの最後には、そのようなイムはサーバーとその返送結果で* * 痛み PA * ペイント*
など Pのような要求の多くを投げるようワイルドカードアスタリスクを使用して印象的に速い実際に)。唯一の問題は、ユーザが単語全体を入力すると、クエリがpaintbrush *であり、その時点でsolrが0の結果を返すことです。
だから、そのクエリ+ワイルドカードのみクエリ+何かしていないクエリ+何
することができ、私はLucene.Netの下で、この作業を取得するために管理が、Solrには、物事にそれはそうと同じようにやってイマイチらしいです。
このような機能の実装についてアドバイスできますか?
SolrNetを使用してイムので、見て多くのコードがない:http://pastebin.com/tXpe4YUe
私はそれがどこを見れするために知っていない、まだそのSolrのにアナライザとパーサが、イムとは何かを持って把握:)
インターレースを見ていますが、それは私が中断されたものをかなりしているようです。ここでは、私が欲しいものは、私が求めているテキスト "です。テキストは、データベース内の特定の行(ビューを使用)のすべてのフィールドの連結です。 – mfriis
@mfriis:はい、まさに私が話していることです。あなたのケースがどのように異なっているかを詳しく説明できますか? –
それでは、とにかく右のトラックにイムのように聞こえます。出力はちょっと変わったようです:http://pastebin.com/H2M8aX2sこのクエリを使っています:solr/terms?terms.fl = text&terms.regex = byg。*&terms.regex.flag = case_insensitive in index私は複数のオブジェクトを持っていますそのテキストフィールドに "bygning"と表示されます。今私が必要なのは、IDとタイプ(私の文書スキーマ内の他の2つのフィールド)でリストされたすべてのオブジェクトです。ここでの出力は半ランダムであるようです(結果リストの名前は私には分かっていますが、最高で部分的です)。 – mfriis