Solr 3.6.1 を使用しようとしていますExternalFileField
。これが私のフィールドタイプの定義です:
<fieldtype name="file" keyField="id" defVal="0" stored="true" indexed="true" class="solr.ExternalFileField" valType="float"/>
フィールド定義は次のとおりです。
<field name="fviews" type="file"/>
fviews
のように並べ替えてテストできました
http://localhost:8983/solr/select?q=tag_id:1&sort={!func}fviews desc
そしてそれは正しく機能しています。
しかし、私は2つの問題に直面しています:
このフィールドを検索結果に戻す必要があります。フィールドにマークを付けたのに、stored="true"
元に戻せません。クエリパラメータを追加しようとしまし&fl=*
たが、うまくいきません。
外部ファイルに変更を加えても、すぐに検索結果に反映されません (これが、外部ファイル フィールドを使用したかった理由です)。https://lucene.apache.org/solr/api-4_0_0-BETA/org/apache/solr/schema/ExternalFileField.htmlの solr 4.0 のドキュメントには、「外部ファイルが既に読み込まれている場合、変更されている場合、コミットが完了するまで、これらの変更は表示されません。」. http://localhost:8983/solr/update?commit=true
Solrが変更されたタイムスタンプに基づいて編集されたファイルを読み取ることを期待して、コミットを試みましたが、機能しません。ただし、フル インポートを実行すると、結果は正しくなります。
更新 (回答) : 2 番目の質問は、以下の @Persimmonium によって回答されています。最初の質問 (値を取得する方法) に対する答えは、私が書いfl=*,field(EXTERNAL_FILE_FIELD_NAME)
たこのブログ投稿に記載されているように使用することです。