当前位置:  开发笔记 > 编程语言 > 正文

Lucene.net在Web应用程序中使用IndexSearcher/IndexWriter

如何解决《Lucene.net在Web应用程序中使用IndexSearcher/IndexWriter》经验,为你挑选了1个好方法。

我目前正在一个Web应用程序中运行Lucene.net,我想知道最好的方法,性能方面.

我目前已将其设置为使所有索引写入在计划过程中一起处理,同时优化索引.

但是对于搜索 - 我目前正在按搜索打开和关闭搜索者,我知道这并不理想.

在这种情况下,您认为最好的方法是什么?

一旦处理了更新/优化,我就需要关闭并重新打开索引搜索器,这样调度的进程(这是一个Windows控制台应用程序)需要将它完成传递给Web应用程序.



1> Corey Trager..:

我刚刚将Lucene.NET集成到BugTracker.NET中.我不确定我所做的是最好的,但它似乎运作良好.

我在app启动时创建索引.

我创建了一个搜索器并保留它,以便每次搜索都不会重新加载索引.所有线程共享同一个搜索者.当搜索者搜索时,它会抓住锁.

同时,我有一个IndexWriter,可以在数据发生变化时更新索引.它只是改变了一点,所以它快速完成任务.当它运行时,它会抓取相同的锁,销毁搜索器,更新索引,然后重新创建搜索器.新的搜索者会一直待到下一次更新索引.搜索者总是使用最新的索引.

您可以获取BugTracker.NET源代码并查看文件my_lucene.cs和search_text.aspx.这些都在这两个文件中,并没有那么多代码.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有