0

Solr 4.1 を使用しています。LukeRequest を使用して、特定のフィールドのデータを含むドキュメントの数を取得したいと考えています。フィールドの名前は(とhttp://foo.org/bar/ bazの間のスペースに注意してください) のようなものです。私が訪問すると、前述のフィールドを含むすべてのフィールドのリストが表示されます。私が訪問するときbar/bazhttp://127.0.0.1:8983/root/admin/luke

http://127.0.0.1:8983/root/admin/luke?fl=http://foo.org/bar/ baz

ヒットしません。文字列の URL エンコード、スラッシュのエスケープ、コロンのエスケープ、スペースのエスケープ、スペースの代わりに + の使用、考えられるすべてのバックスラッシュの組み合わせを試しました。solrの別の StackOverflow 質問フィールド リストに投稿された、間にスペースがあるフィールドの「fl」パラメーターを使用したソリューションは、私にとってはうまくいきませんでした。

私は本当に、ドキュメントがこの特定のフィールドに値を持っているかどうかについて、はい/いいえの答えを探しているだけなので、LukeRequest よりもこれを行うためのより良い方法があれば、私もそれを聞いています。

4

2 に答える 2

2

インデックス内のフィールドに関連付けられた用語があるかどうかを知ることができるので、 TermsComponentを使用して同じことを達成できると思います。ただし、クエリでフィールド名を指定する必要があるため、同様の問題が発生します。Srikanthが答えたように、フィールド名にスペースや特殊文字を使用しない方がよいでしょう。

于 2013-04-04T15:37:53.090 に答える