首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET搜索索引构建策略

ASP.NET搜索索引构建策略
EN

Stack Overflow用户
提问于 2010-09-21 23:13:25
回答 1查看 264关注 0票数 1

这就是我计划做的事情,我非常感谢任何人的意见:

我已经在Asp.net MVC中建立了一个论坛,现在想要添加Lucene.Net来进行搜索。我的计划是每5-10分钟运行一次索引生成器线程,以使用对每个讨论所做的更改来更新搜索索引。

它的工作方式是将索引生成器线程的最后一次运行的日期和时间保存在搜索索引中。然后,在每次执行索引构建器时,我从搜索中读回这个日期,然后索引自该日期和时间以来的任何更改。一旦我完成了,我就更新最后一次运行的条目。

这条路好吗?有人能建议一种更好的方法在论坛应用程序中增量索引更改吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-21 23:20:16

你需要维护一个计时器。如果索引操作在5分钟内没有停止,另一个索引操作将开始索引相同的更改,因此您也必须检查这种情况。

一种稍微好一点的方法是简单地使用一个专用的索引线程来保持活动状态。此线程将从最后一次运行中获取更改,并按照您的描述处理它们,但它不会等待。在索引操作完成后,它将立即重新启动,并在项目进入时不断地进行索引。

如果没有更多的项目要索引,则线程将休眠5分钟(然后在唤醒时再次检查更改)。

这样,您就可以确保一次只有一个客户端在修改索引。它永远不会占用大量的CPU,如果你对计时器管理不善,或者你突然收到大量的帖子,它会随着论坛的增长而扩展,而不需要时不时地调整索引间隔。

不过,您需要监控线程的运行状况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3761710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档