Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Solr/Sunspot是否在搜索查询中包含新记录,即使它是';它没有索引?_Ruby On Rails_Solr_Sunspot - Fatal编程技术网

Ruby on rails Solr/Sunspot是否在搜索查询中包含新记录,即使它是';它没有索引?

Ruby on rails Solr/Sunspot是否在搜索查询中包含新记录,即使它是';它没有索引?,ruby-on-rails,solr,sunspot,Ruby On Rails,Solr,Sunspot,由于索引速度慢且资源密集,我只将Solr设置为在12小时内重新索引。所以,当新记录在索引之前被添加时,它不能被搜索,对吗 如果是,是否应切换到其他搜索系统?文档仅在提交后可用于搜索。一旦提交给Solr,它们就会被解析并转换为内部格式。这就是索引 你的问题对于纯Solr系统来说没有太大意义。您是否有RDBMS,是否要重新编制它的索引?如果是这样,那么您是对的,只有在从数据库获取记录、编制索引并提交记录时,Solr才会更新 对于较短的延迟,有两种选择。如果每个记录都有时间戳,则只能定期对更改的记录重

由于索引速度慢且资源密集,我只将Solr设置为在12小时内重新索引。所以,当新记录在索引之前被添加时,它不能被搜索,对吗


如果是,是否应切换到其他搜索系统?

文档仅在提交后可用于搜索。一旦提交给Solr,它们就会被解析并转换为内部格式。这就是索引

你的问题对于纯Solr系统来说没有太大意义。您是否有RDBMS,是否要重新编制它的索引?如果是这样,那么您是对的,只有在从数据库获取记录、编制索引并提交记录时,Solr才会更新

对于较短的延迟,有两种选择。如果每个记录都有时间戳,则只能定期对更改的记录重新编制索引。它们将取代旧版本的记录。如果这样做,则需要专门处理已删除的记录,通常是通过添加“deleted”列并对这些记录发出Solr delete命令

数据输入处理程序支持增量查询,尽管它有点复杂。您还可以编写一些代码来读取数据库,并以专用的SolrXML格式定期提交Solr更新


频繁更新可能会影响搜索性能。Solr从缓存结果中获得了很多性能。这些缓存在提交后被清除。检查“统计信息”页面以了解查询结果缓存中的缓存命中率。如果该值很高,频繁更新可能会导致性能问题。

您应该这样做吗?不知道我们怎么能回答这个问题。我以为记录在添加时就被索引了——你确定不是吗?@DaveNewton它们通常是更新/创建时的索引,但你可以调整它。维克多:是的,如果它不在索引中,就无法使用索引找到它。谢谢大家的确认。