2

Web ページ データのコーパスを検索するために Solr を使用しています。私の solr-indexer は、いくつかのフィールドと対応する値を作成します。ただし、これらのフィールドのいくつかは、たとえばそのページのクリック数など、より頻繁に更新したいと考えています。これらのフィールドはインデックス可能である必要はなく、これらのフィールド値に対して検索を実行する必要もありません。ただし、それらを取得して頻繁に更新したいと考えています。私はsolrの初心者なので、おそらく実行中の例/コードを使用したより説明的な回答が役立つでしょう。

4

2 に答える 2

3

Solr 4+ を使用している場合は、Solr インデックスに部分更新をプッシュできます。

部分的な更新の場合、schema.xml のすべてのフィールドを保存する必要があります

フィールド セクションは次のようになります。

<fields>
  <field name="id" type="string" indexed="true" stored="true" required="true" />
  <field name="title" type="text_general" indexed="true" stored="true"/>
  <field name="description" type="text_general" indexed="true" stored="true" />
  <field name="body" type="text_general" indexed="true" stored="true"/>
  <field name="clicks" type="integer" indexed="true" stored="true" />
</fields>

フィールドの1つに部分的な更新を送信すると、たとえば次のようになります。あなたの場合は「クリック」。バックグラウンドで、Solr はそのドキュメントの他のすべてのフィールド (タイトル、説明、本文など) の値をフェッチし、古いドキュメントを削除し、新しく更新されたドキュメントを Solr インデックスにプッシュします。

localhost:8080/solr/update?commit=true' -H 'Content-type:application/json' -d '[{"id":"1","clicks":{"set":100}}]

部分的な更新に関する適切なドキュメントは次のとおりです: http://solr.pl/en/2012/07/09/solr-4-0-partial-documents-update/

于 2013-06-10T16:33:45.970 に答える