2016-11-06 9 views
0

Solrインデックスの各ドキュメントに新しいフィールドを追加する必要があります。Solr:すべてのドキュメントに新しいフィールドを追加する方法

この新しいフィールドは検索可能である必要はありません。 Solrに格納するだけで検索結果に戻すだけです。

新しいフィールドの値は、idフィールドに基づいて算出することができる(とSolrのインデックスに存在しない他の情報。)

この目標を達成するための最速、最も簡単な方法は何ですか?

答えて

1

Solr Schema API試してみてください。

curl http://localhost:8983/solr/yourcollection/schema -X POST -H 'Content-type:application/json' --data-binary '{ 
    "add-field" : { 
    "name":"myfield", 
    "type":"string", 
    "stored":true 
    } 
}' 

既存の文書のために、このフィールドの値を充填のみREINDEX操作で私の知る限り行うことができます。

+0

残念ながら、これは私の問題を解決しません。新しいフィールドの値は、インデックス作成時に使用できません。それは他のソースから来ています。 – bpgergo

+0

おそらくこの場合、その値が利用可能になったら、フィールドを更新する必要があります。これは[Solr Atomic Updates](https://cwiki.apache.org/confluence/display/solr/Updating+Parts+of+Documents#UpdatingPartsofDocuments-AtomicUpdates)から行うことができます。たとえば、次のようになります。curl http:// localhost:8983/solr/yourcollection/update?commitWithin = 3000 -d '[{"" id ":" your_doc_id "、" myfield ":{" set "、" field value "}} ] '' –

関連する問題