多个应用程序可以共享相同的Lucene索引吗?

时间:2015-10-30 15:30:44

标签: c# lucene

我正在开发一个将由10位用户使用的应用程序。 我将使用Lucene来获得更好的搜索性能。 我可以在服务器中生成Lucene索引文件,让10个应用程序共享相同的Lucene索引文件吗? 只有一个应用程序可以写入更新索引,而其他9个应用程序是只读的。

1 个答案:

答案 0 :(得分:1)

是的,您可以读取来自不同应用程序的相同lucene索引。如果应用程序位于同一JVM上,您也可以共享相同的SELECT Name, Kills, rank FROM ( SELECT Name, Kills, @rank := IF (@k = Kills, @rank, IF (@k:=Kills, @rank+1, @rank+1)) AS rank FROM scores CROSS JOIN (SELECT @k := 0, @rank := 0) AS vars ORDER BY Kills DESC ) AS t WHERE t.rank <= 5 ,因为索引的打开/关闭成本非常高。 无论如何,你只能有一个IndexSearcher实例用于应用程序。

只有一个客户端 / 应用可以同时 ,因此您可以编写索引也来自不同的应用程序,但您必须同步索引管理操作:open / write / close。