我正在尝试为包含大型数据集的项目找到最高效的解决方案。我想用分面过滤数据集。
我在云端运行,所以我会使用 Redis To Go 或 Websolr。 Sunspot 内置了刻面,我很想单独使用它。然而,我关注的是性能,我想知道是否为分面属性设置格式正确的 Redis 可以提高性能。
这两种解决方案如何比较性能?
最佳答案
您说您关注“性能”——也许您可以阐明这对您到底意味着什么?在不深入了解您的用户故事的情况下,我会说从性能的角度来看,Redis 和 Solr 都是完成这项工作的完全合适的工具。
对于初学者来说,如果您想将分面与全文关键字搜索相结合,那么 Solr 无疑是赢家。我们只是假设这里不是这种情况。
从我的角度来看,最大的权衡是实现分面需要的代码行数。 Solr 对分面的支持将“开箱即用”地为您工作,而 Redis 之上的索引和分面需要公平的投资。
对 Redis 的投资是否值得,这又回到了您如何使用这些方面以及您如何定义“性能”的问题。如果您想证明 Solr 优于 Redis,您可能需要定义和基准化一些实际指标。
哦,对了,完全公开:我是 Websolr 的联合创始人,也是 Sunspot 的维护者,就是这样。但我在我自己的应用程序中使用了一些 Redis,我不怕给 Redis 应有的 ;)
关于search - Redis To Go 与 Websolr 的分面对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7382831/
我在开发的Rails3网站的一些搜索功能上遇到了一个小问题。我有一个简单的Post模型,如下所示:classPost我正在使用acts_as_taggable_on来更轻松地向我的帖子添加标签。当我有一个标记为“rails”的帖子并执行以下操作时,一切正常:@posts=Post.tagged_with("rails")问题是,我还想搜索帖子的标题。当我有一篇标题为“Helloworld”并标记为“rails”的帖子时,我希望能够通过搜索“hello”或“rails”来找到这篇帖子。因此,我希望标题列的LIKE语句与acts_as_taggable_on提供的tagged_with方法
我正在尝试使用pg_search来搜索关联模型。当我运行搜索时,出现错误“PG::Error:ERROR:columnplans.namedoesnotexist”。我正在“计划”模型中运行搜索,并尝试针对“地点”与列“名称”的关联进行搜索。连接这些的has_many:through模型是多态的。不知何故,sql查询将两者结合起来并抛出错误。我已经运行了associated_against迁移(railsgpg_search:migration:associated_against),搜索了文档,并寻找其他有错误的人,但一无所获,一定是我只是忽略了一些东西。如果我只是删除plan.rb
我用过这个视频http://railscasts.com/episodes/102-auto-complete-association-revised在我的应用程序的表单中设置自动完成搜索输入。(该视频可能仅供成员(member)使用,因此我也会发布我的代码。本质上,它会搜索数据库(名称)的一列,并在您键入时在下拉列表中自动完成。这一切都很好,但是,我想要什么表单要做的是提交与名称相关的ID,而不是名称本身。我假设没有简单的方法可以仅在View中执行此操作。任何帮助都会很棒。下面的代码,让我知道是否有任何其他代码有帮助。谢谢Controller:defgame_namegame.try
假设我有以下字符串:"BENffew123X\r\nBENx432f456X\r\nBEN!233789X\r\nBEN4545789X"我想要一个能捕获“BEN!233789”的正则表达式,它必须非贪婪地查找“BEN”,后跟任何字符(不包括“BEN”一词)并以789X结尾。我尝试了正则表达式:/BEN.+?789X/mi,我得到了"BENffew123X\r\nBENx432f456X\r\nBEN!233789X"作为匹配项。我知道这个正则表达式寻找第一个“BEN”并捕获字符串的开头,但我希望它寻找最接近第一个“789X”的“BEN”。我怎样才能做到这一点?一个想法是反转字符串,我
当搜索可以提供许多可选参数(如ID、邮政编码、城市和州)时,我将如何在数据库上进行搜索?这些可以有值或完全空白。我将如何进行这样的Rails查询? 最佳答案 通常的建议是将逻辑转移到模型中并使Controller尽可能精简。filter方法有不同的做法,第一种:classRecordvalue)when:city,:state#regexpsearchscope.where(["#{key}ILIKE?","%#{value}%"])when:order#order=field-(ASC|DESC)attribute,order=v
当我使用像2016-07-30T15:10:00这样的模型模式时在faceted:view(eea.facetednavigation的自定义View)该模式根本不起作用,因为内容是用javascript注入(inject)的。在https://stackoverflow.com/a/35699974/637399@ebrehault写道,模式在加载时初始化,如果DOM发生变化并包含新元素,您需要调用Registry.scan($('#content-core'))其中Registry是pat-registry和#content-core页面的注入(inject)部分。我如何在eea.
我正在尝试安装react-input-search。我有错误:Couldnotfindadeclarationfileformodule'react-search-input'.'.../app/node_modules/react-search-input/lib/index.js'implicitlyhasan'any'type.Trynpminstall@types/react-search-inputifitexistsoraddanewdeclaration(.d.ts)filecontainingdeclaremodule'react-search-input';ts(70
我为coderbyte使用了以下代码:functionVowelCount(str){//codegoesherereturnstr.match(/[aeiou]/gi).length;}//keepthisfunctioncallhere//toseehowtoenterargumentsinJavaScriptscrolldownprint(VowelCount(readline()));我理解大部分代码,除了以下部分:正斜杠和方括号的作用是什么?gi有什么作用?search()和match()有什么区别?我应该在什么情况下使用什么? 最佳答案
如果您尝试使用search()函数搜索诸如“[]”或“()”之类的字符串,它不会工作。functionmyFunction(){varstr="Visit[]W3Schools!";varn=str.search("[]");document.getElementById("demo").innerHTML=n;}您可以在-试用W3Schoolshttps://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_search搜索[]返回-1,搜索()返回0。总是。这是为什么? 最佳答案
我觉得这与AJAX调用有关。不太确定发生了什么。从技术上讲,该错误是在定义isArraylike(obj)函数的第584行的jQuery文件中抛出的。jQuery(document).ready(function(){varwidth_of_grams=$(window).width();varnew_pic_height=(width_of_grams/7);$("img.gram_photo").css('height',(width_of_grams)/7);$("#instafeed").css('height',2*new_pic_height);$(window).resi