草庐IT

ES-match_all

全部标签

ruby-on-rails - rails : Return only objects where all associations meet a condition

设置:Rails3.2.18、Postgres我有两个对象,例如,将它们称为Author和Article,具有以下设置:classAuthorhas_many:articles...endclassArticlebelongs_to:authorclass我正在尝试查找所有Author记录,其中所有相关的Article记录都是在一年前发布的。这段代码:Author.joins(:article).merge(Article.published_over_one_year_ago)...返回Author对象,其中至少一个关联的Article是在一年多以前发表的,但我只需要作者记录,其中所

优化大数据量查询方案——SpringBoot(Cloud)整合ES

一、Elasticsearch简介实际业务场景中,多端的查询功能都有很大的优化空间。常见的处理方式有:建索引、建物化视图简化查询逻辑、DB层之上建立缓存、分页…然而随着业务数据量的不断增多,总有那么一张表或一个业务,是无法通过常规的处理方式来缩短查询时间的。在查询功能优化上,作为开发人员应该站在公司的角度,本着优化客户体验的目的去寻找解决方案。本人有幸做过Tomcat整合solr,今天一起研究一下当前比较火热的Elasticsearch搜索引擎。Elasticsearch是一个非常强大的搜索引擎。它目前被广泛地使用于各个IT公司。Elasticsearch是由Elastic公司创建。它的代码位

ruby-on-rails - 我将如何 destroy_all 或 delete_all 记录,除了 ruby​​ on rails 中的一条记录?

我在我的网站上为我的用户消息线程功能使用“acts_as_tree”插件。我有一种方法可以删除选定的消息。这些消息实际上并没有被删除。它们的sender_status或recipient_status列设置为1,具体取决于邮件的发件人或收件人是哪个用户。无论如何,如果两个用户都将这些状态设置为1,那么最后一行确保消息行已完全从数据库中移出。现在这很好,只要它不是被删除的父消息。如果删除父消息,则将无法再访问未被选择删除的子消息。方法如下:defdelete_all_users_selected_messages(message_ids,user_id,parent_id)Message

ruby-on-rails - ruby 的 "any?"和 "all?"方法在空数组和哈希上的行为

首先,我在有关这些方法的文档中找到了两篇有用的文章:http://www.ruby-doc.org/core-1.9.3/Enumerable.htmlhttp://www.globalnerdy.com/2008/01/29/enumerating-rubys-enumerable-module-part-1-all-and-any/all?:Passeseachelementofthecollectiontothegivenblock.Themethodreturnstrueiftheblockneverreturnsfalseornil.any?:Passeseachelemen

ES条件查询

matchAll分页查询@TestpublicvoidtestMatchAll()throwsIOException{//创建查询请求对象SearchRequestsearchRequest=newSearchRequest("goods");//构建查询条件(分页,查询所有)SearchSourceBuildersearchSourceBuilder=newSearchSourceBuilder();searchSourceBuilder.query(QueryBuilders.matchAllQuery());//searchSourceBuilder.from(0);searchSour

es-3-创建索引&新建mapping

通过elasticsearch-head新建索引新建完的索引,重点要设置setting和mapping两个参数,后面详细展开介绍。索引命名要求索引命名只能使用小写字母不能包含除-_以外的特殊字符不能用-_开头长度必须小于255B索引别名给一个索引起多个别名给多个索引起一个别名(更有意义,为了不让一个索引的容量过于大,可以每隔一段时间把新增数据新建一个索引,然后命名同一个别名)。_mappingmapping相当于数据库中的schema的定义,作用如下:定义索引中的字段名称定义字段的数据类型,如字符串,数字,布尔…字段、倒排索引的相关配置(分不分词,分词器的选择等)mapping会把JSON文档

ruby-on-rails - 如何摆脱 Spring 警告 : Running `gem pristine --all` ?

我正在使用Springapplicationpreloader并刚刚升级到v0.9.0。现在我收到以下警告:Warning:Runninggempristine--alltoregenerateyourinstalledgemspecswillimprovethestartupperformanceofSpring.我尝试运行该命令,但它无法安装我的一些gem,这可能与我最近升级到OSXMavericks有关。我如何摆脱这个警告? 最佳答案 这是因为以前版本的ruby​​gems会在查询时加载所有的gemspecs。开始时速度很慢,

ruby-on-rails - 错误 "' Validate_default_type !': An option' s default must match its type (ArgumentError)"when running Ruby on Rails generate on Windows

我正在关注thistutorial并且刚刚开始。我已经使用geminstallrails安装了RubyonRails,并使用railsnewblog创建了一个博客。教程现在说我需要运行railsgeneratecontrollerWelcomeindex,但是当我这样做时,我得到了这个错误:C:/Ruby22/lib/ruby/gems/2.2.0/gems/thor-0.19.2/lib/thor/parser/option.rb:130:in`validate_default_type!':Anoption'sdefaultmustmatchitstype.(ArgumentErr

ruby - Regexp.last_match 线程安全吗?

这是我正在查看的代码:defmethod_missing(id,*args)returnself.find(Regexp.last_match(1),args[0])ifid.id2name=~/find_by_(.+)/raiseNoMethodErrorend如果我有多个线程调用Regexp.last_match会怎样?如果我有多个线程使用method_missing方法调用对象会怎样? 最佳答案 Ruby1.9.2平台文档声明调用Regexp.last_match等同于读取特殊的$~全局变量。摘自“TheRubyProgram

ruby-on-rails - 使用#update_all 更新时间戳

当我有要更新其属性的ID列表时,数据库中的updated_at字段似乎没有改变,这就是我的意思:ids=[2,4,51,124,33]MyObj.where(:id=>ids).update_all(:closed=>true)执行此更新后,updated_at字段不会更改。但是,当我使用railsc进入rails控制台并执行此操作时:obj=MyObj.find(2)obj.closed=false;obj.save!在此语句之后updated_at字段更改值。为什么是这样?当发生这种情况时,我正在监听更新并执行整个应用程序流程时,我依赖于我的应用程序中的这个updated_at字段