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