2011-12-20 24 views
3

私のsolrスキーマのフィールドは "Post Date"(引用符は除外)としています。検索結果の投稿日のみを表示するために "fl"(フィールドリスト)パラメータを使用してクエリを実行すると、このフィールドにスペースが含まれているため、ドキュメントレスポンスに何も表示されません。私は+、%20を使ってみましたが、まだ結果は得られません。助けてください。間にスペースを持つフィールドの "fl"パラメータを持つsolrのフィールドリスト

+0

"Post \\ Date"を試しましたか? –

+3

あなたはこれにこだわっているのですか?低レベルでは、LuceneもSolrもフィールド名に制限を設けませんが、フィールド名に空白やその他の特殊文字を使用すると、いくつかの問題が発生します。私はあなたのスキーマを変更し、フィールド名からそれらの空白をすべて消去することをお勧めします。 – Chewie

答えて

2

私はこれに対する解決策を見つけたことをお知らせしたいと思います。私は実験を試みましたので、クエリ内の空白の代わりに\+を入れて解決策を思いつきました。したがって、クエリはPost\+Date:[ranges]

私は多くのチームがそれに依存するように私のスキーマを変更することができなかったし、我々は新しい検索エンジンにアップグレードしている必要があります。

+0

申し訳ありませんフォーマット済みです。+記号の前にバックスラッシュを入れます –

+0

前の投稿は削除した一口を削除します。ポスト日付などのフィールドのポストフォーマットはPost/+ Dateです –

0

回避策として、ワイルドカードを使用して結果を得ることができます。 solr wiki http://wiki.apache.org/solr/CommonQueryParameters#globを使用すると、あなたの問題を回避する可能性のあるfl=Post*Dateを指定することができます。私はこれを確認していないが、うまくいくかもしれない。

更新:これは私が試したのSolrのいずれかのバージョン(1.4.0および3.6.1)上で動作するようには思えません。これはhttp://wiki.apache.org/solr/FieldAliasesAndGlobsInParamsで議論されているかもしれませんが、実装されていないようです。

2

あなたは、このようにそれらをラップすることによって(Solrのはクレイジーと認めるとき何)フィールドを指定することができます。

field(Post Date) 

あなたが戻って何か買ってあげるので、これは実際にはあまりにも返された結果のフィールド名を変更します。

"field(Post Date)" : "2010-01-01" 

名前だけでなく、あなたが想像しているように。

+0

これは私のために働いた。ありがとう!二重引用符を使用するだけで、field( "Student Name")desc – Ananth

関連する問題