検索応答で一部のデータを返す必要がある場合は、対象のフィールドが solr によって保存されていることを確認してから、fl
param を使用してクエリで返されるフィールドのリストを設定できます (保存されたフィールド名を値として)。solrconfig.xml でデフォルトの fl 値を設定することもできます。
content
たとえば、フィールドを返したいとしましょう。schema.xml の宣言では、次のようにこのフィールド<fields>
のオプションを指定する必要があります。stored="true"
<field name="content" type="text" indexed="true" stored="true"/>
次に、solrconfig.xml で、requestHandler 定義でデフォルトの fl パラメータを宣言します。特定のフィールド (スペースで区切られたフィールド名) を設定できます。content
フィールドに格納されたデータを返すだけの場合、xml サンプル (チュートリアルから取得) は次のようになります。
<requestHandler name="/nutch" class="solr.SearchHandler" >
<lst name="defaults">
<str name="defType">dismax</str>
<str name="echoParams">explicit</str>
<float name="tie">0.01</float>
<str name="qf">
content^0.5 anchor^1.0 title^1.2
</str>
<str name="pf">
content^0.5 anchor^1.5 title^1.2 site^1.5
</str>
<str name="fl">
url content
</str>
<str name="mm">
2<-1 5<-2 6<90%
</str>
<int name="ps">100</int>
<bool hl="true"/>
<str name="q.alt">*:*</str>
<str name="hl.fl">title url content</str>
<str name="f.title.hl.fragsize">0</str>
<str name="f.title.hl.alternateField">title</str>
<str name="f.url.hl.fragsize">0</str>
<str name="f.url.hl.alternateField">url</str>
<str name="f.content.hl.fragmenter">regex</str>
</lst>
</requestHandler>
これらのデフォルトは、クエリで直接オーバーライドできます。一般的な使用例は*,score
、solr クエリ インターフェイスの fl 領域に " " を配置して、保存されているすべてのフィールド (ワイルドカード文字を使用*
) と結果のスコアを表示できるようにすることです。対象のリクエスト ハンドラ ("/nutch" である必要があります) に従って、クエリ タイプ パラメータ (qt) を指定することもできます。
便利なリンク :
http://wiki.apache.org/solr/SchemaXml#Common_field_options
http://wiki.apache.org/solr/CommonQueryParameters#fl