2017-04-19 8 views
0

私は677 JSONドキュメントをSolrに挿入しています。Solrなぜ更新のみが実行された場合に文書を削除するのですか?

enter image description here

Num Docs: 676 Max Doc: 677 Deleted Docs: 1

私の質問は、なぜSolrには1つの文書を削除されている:私はSolrの内のドキュメントの合計数を確認したときに更新が行われた後、値を次のように私を示してい私がしたのはpost -c core *.jsonです。

私はSolrのバージョンを使用しています -

答えて

0

6.5.0は、おそらくあなたは、あなたのJSONファイル内の重複する文書(または重複キー)を持っています。

SolrはLucene Java検索ライブラリに基づいているため、これを書いています。

Luceneは、重複する文書(重複したキーを意味する)が見つかった場合、索引の文書を実際に更新するのではなく、更新のたびに新しい文書を削除して挿入します。いずれの場合においても

Lucene 6.5.0 - Class IndexWriter

[...]、文書はaddDocumentを加え、 deleteDocuments(期間...)またはdeleteDocuments(クエリ...)を用いて除去されます。 ドキュメント は、updateDocument(ドキュメント全体を削除してから を追加する)で更新できます。

+0

したがって、ドキュメントを '投稿する 'ことを意味するので、Solrは最初にそれを削除してから挿入します。文書がSolrではじめて追加された場合、どうすれば可能ですか? – himanshuIIITian

+0

私は、あなたの仕事で「私はSolr_に677 JSON文書を更新/投稿しました」と誤解されました。おそらく、あなたのjsonファイルに重複したレコード(または重複したキー)があります。 – freedev

+0

申し訳ありません私のせいで、私は質問を正しく投稿しなかった。実際に私は677の文書を挿入しています。もし重複したキーが当てはまるなら、私はそれをチェックしなければなりません。ところで、私は自分の質問を更新しました。 – himanshuIIITian

関連する問題