我有一个包含150,000篇新闻文章的新闻网站。每天向数据库添加约250篇新文章,间隔为5-15分钟。我知道Solr针对数百万条记录进行了优化,而我的150K也不会成为问题。但我担心频繁的更新将是一个问题,因为每次更新都会使缓存失效。在我的开发服务器中,页面的冷加载需要5-7秒才能加载(因为每个页面运行一些MLT查询)。
如果我将索引拆分为两个 - 存档索引和最新索引,它会有帮助吗?存档索引每天更新一次。
有人可以建议任何方法来优化我的安装以获得不断更新的索引吗?
由于
答案 0 :(得分:1)
我的回答是:测试一下!如果您不知道它的表现如何,请不要尝试进行优化。就像你说的那样,150K不是很多,应该快速为你的测试建立一个这么大的索引。之后,在索引更多文档以查看其行为方式时,从不同的并发线程(模拟用户)运行几个MLT查询。
您应该关注的一个设置是自动提交。由于您不断编制索引,因此无法在每个文档中提交(您将使Solr失效)。您将为此设置选择的值将允许您调整系统的延迟(在结果中返回新文档所需的次数),同时保持系统响应。
答案 1 :(得分:0)
考虑在主查询中使用mlt = true,而不是发布每个结果的MoreLikeThis查询。你将保存往返,所以它会更快。