1,刪索引時(shí)如果解鎖,會(huì)不會(huì)有問題?
??? IndexReader reader = IndexReader.open(directory);
?? ???? ??? if (IndexReader.isLocked(directory)) {
?? ???? ??? ??? IndexReader.unlock(directory);
?? ???? ??? }
?? ???? ??? reader.deleteDocuments(term);
?? ???? ??? reader.close();
2,到底是reader.deleteDocuments(term)還是writer.deleteDocuments(term)
3,writer.setUseCompoundFile(true)
創(chuàng)建索引庫時(shí),會(huì)合并多個(gè) Segments 文件到一個(gè) .cfs 中。此方式有助于減少索引文件數(shù)量,減少同時(shí)打開的文件數(shù)量。
可以使用 CompoundFileReader 查看 .cfs 文件內(nèi)容。
??? IndexReader reader = IndexReader.open(directory);
?? ???? ??? if (IndexReader.isLocked(directory)) {
?? ???? ??? ??? IndexReader.unlock(directory);
?? ???? ??? }
?? ???? ??? reader.deleteDocuments(term);
?? ???? ??? reader.close();
2,到底是reader.deleteDocuments(term)還是writer.deleteDocuments(term)
3,writer.setUseCompoundFile(true)
創(chuàng)建索引庫時(shí),會(huì)合并多個(gè) Segments 文件到一個(gè) .cfs 中。此方式有助于減少索引文件數(shù)量,減少同時(shí)打開的文件數(shù)量。
可以使用 CompoundFileReader 查看 .cfs 文件內(nèi)容。
CompoundFileReader reader = new CompoundFileReader(FSDirectory.GetDirectory("y:\\index", false), "_1oa.cfs");
foreach (string filename in reader.List())
{
Console.WriteLine(filename);
}
foreach (string filename in reader.List())
{
Console.WriteLine(filename);
}