実際にインデックスを作成して最適化する方法は、毎回レコードのチャンクを作成して最適化し、すべてを1つに変換しないことです。今私が直面している問題は、私は重複したドキュメント/レコードをインデックスに作成することです。インデックスから重複を削除するための関数やコードがあるかどうかを知る必要があります。ありがとうございます。 Zend luceneインデックスから重複したドキュメントを削除する
0
A
答えて
0
固有の識別子である用語が必要です。次に、索引に文書を追加する前に、索引を削除します。
重複は、同じ一意のIDを持つ複数のドキュメントを持つ単なるインスタンスです。だから、一意のIDフィールドのすべての用語を列挙し、2つの結果を持つものを検索するだけです。私が知る限りこれを行うための組み込みメソッドはありません。
2
更新する前にレコードを削除する必要があります。これはLuceneの仕事です。既存のレコードを更新することはできません。
が、これはあなたが今、あなたは基本的に挿入:)で更新を行うことができます記録
$index = Zend_Search_Lucene::open('data/index');//'data/index' is the file that lucene generated
$query = new Zend_Search_Lucene_Search_Query_Term(new
Zend_Search_Lucene_Index_Term($listing_id, 'listing_id'));// 'listing_id' is a field i added when creating index for the first time. $listing_id is the id value of the row i want to delete
$hits = $index->find($query);
foreach ($hits as $hit) {
$index->delete($hit->id);// $hit->id is not listing_id, it's lucene unique index of the row that has listing_id = $listing_id
}
を削除する方法です、それは仕方のLuceneの作品です。
0
新しいデータを追加する前に、コミット$index->commit()
を忘れないでください。それが私の複製データが$index->find($query)
に戻る理由です。
$index = Zend_Search_Lucene::open('/lucene/index');
$query = new Zend_Search_Lucene_Search_Query_Term (new Zend_Search_Lucene_Index_Term($id, 'key'));
$hits = $index->find($query);
foreach ($hits as $hit) {
$index->delete($hit->id); // $hit->id is not key , it's lucene unique index of the row that has key = $id
}
$index->commit(); // apply changes (delete) before index new data
doc = new Zend_Search_Lucene_Document();
$doc->addField(Zend_Search_Lucene_Field::keyword('key', $id));
$doc->addField(Zend_Search_Lucene_Field::Text('user', $user, 'utf-8'));
関連する問題
- 1. Zend Gdataを使用してGoogleドキュメントからドキュメントを削除
- 2. Lucene 6.0の重複したドキュメントのインデックス作成を避ける方法
- 3. ローカルコンテキストから重複したエンティティを削除/削除する
- 4. TStringListから重複を削除する
- 5. ステージングファイルから重複を削除する
- 6. ドロップダウンリストから重複を削除する
- 7. apache Luceneでドキュメントを削除または更新するには
- 8. なぜLuceneはドキュメントを削除しないのですか?
- 9. MySQLから重複した行を削除するには?削除
- 10. 重複したフレーズを削除する
- 11. 重複した行を削除する
- 12. Luceneのインデックスから文書を削除できません
- 13. MySqlデータベーステーブルから重複したエントリを削除する方法
- 14. 選択したクエリ出力から重複を削除する
- 15. リストから重複したマッチを削除する
- 16. アレイから重複したエントリを削除する
- 17. csvから重複した行を削除する[ヘッダ+コンテンツ]
- 18. リストから重複した文字列を削除する
- 19. タプルリストから重複したキー/値を削除する
- 20. FragmentManagerから重複したエントリを削除するには?
- 21. アレイから重複したレコードを削除する方法
- 22. htmlフォームのドロップダウンリストから重複した値を削除する
- 23. mysqlテーブルから重複したテキストレコードを削除する方法
- 24. Django - DBから重複したレコードを削除する
- 25. Sitecore Lucene - 重複したエントリ
- 26. smartgwtはselectitemから重複した値を削除します
- 27. XDocumentから重複したエントリを削除します。
- 28. PowerShell:アレイから重複した項目を削除します。
- 29. whileループからフェッチされた重複を削除します。
- 30. 重複の削除方法重複を削除しない