0

Solr のフィールド名に $ 記号を含むインデックスがあります。再インデックスはオプションではありません。$ が変数識別子である Solr には機能的なクエリがあります (こちらを参照)。特定のフィールド (fl=$created_dt,name) を取得するクエリを呼び出すと、solr がエラーを返します

フィールド名の解析エラー: 関数 '$created_dt,$name' の解析中にパラメータ created_dt がありません

Solrが変数として解釈するためだと理解しています。それを修正する方法はありますか?

4

1 に答える 1

0

一般に、Solr のフィールド名にはほとんどの記号を使用しないことをお勧めします。特に、 $ は、解析中に置換するクエリ文字列内の個別の引数 ( などfoo=$qq&qq=bar) を許可するために使用されます。

ただし、使用できる - パラメーターの小さなハックがありflます。最初のフィールドにシンボルがない場合は、OK を解析する必要があります。を使用fl=name,$created_dtすると機能します (ただし、含めたエラー メッセージから、$name も使用するつもりだった可能性があります。その場合は、$ のない別のフィールド名を使用してください)。&fl=name,$foo_i少なくとも 4.9.0 で動作します。

将来的には、より正規化されたフィールド名への移行を計画する必要があるかもしれません。

于 2014-08-27T10:10:49.920 に答える