ご存知のとおり、solr4.0はアトミック更新をサポートしています。 http://wiki.apache.org/solr/UpdateXmlMessages#Optional_attributes_for_.22field.22 これはsolrnetでまだサポートされていますか?はいの場合、構文を知ることができます。トンありがとう。
質問する
1732 次
3 に答える
2
あなたが提供したリンクのおかげで、次のことを行ってください(要件に合わせて明らかな変更を加え、SolrFacilityの登録を介してISolrOperationsとISolrConnectionが処理されるようにDIコンテナを使用していると仮定します):
private readonly ISolrOperations<Document> _solr;
private readonly ISolrConnection _solrConnection;
public SolrRecordRepository(ISolrOperations<Document> solr, ISolrConnection solrConnection)
{
_solr = solr;
_solrConnection = solrConnection;
}
...
public void UpdateField(int id, string fieldName, int value, bool optimize = false)
{
var updateXml = string.Format("<add><doc><field name='id'>{0}</field><field name='{1}' update='set'>{2}</field></doc></add>", id, fieldName, value);
_solrConnection.Post("/update", updateXml);
_solr.Commit();
if (optimize)
_solr.Optimize();
}
于 2014-06-05T23:49:10.327 に答える
0
アトミックな更新は非常に限られていることに注意してください。データベースの更新機能を期待している場合は、まだありません。内部では、保存されたフィールドを使用してドキュメントが再作成されます。すべてのフィールドを再送信したくない場合や、すべてのフィールドをインデックスに保存する必要がない場合に便利です。私の知る限り、「本当の」アップデートはもうすぐです。
于 2012-11-13T14:32:19.610 に答える
0
私の知る限りでは、SolrNet はまだアトミック アップデートをサポートしておらず、SolrNet Project Issues Listにも、GitHubの SolrNet Commits にも言及されていません。
于 2012-11-13T12:43:50.890 に答える