草庐IT

ruby-on-rails - 使用 Rails (Tire) 和 ElasticSearch 进行模糊字符串匹配

我有一个Rails应用程序,现在设置了ElasticSearch和Tiregem以在模型上进行搜索,我想知道我应该如何设置我的应用程序以对模型中的某些索引进行模糊字符串匹配。我将我的模型设置为索引标题、描述等内容,但我想对其中一些进行模糊字符串匹配,但我不确定在何处进行此操作。如果您想发表评论,我将在下面包含我的代码!谢谢!在Controller中:defsearch@resource=Resource.search(params[:q],:page=>(params[:page]||1),:per_page=>15,load:true)end在模型中:classResource'Us

ruby - 有没有办法计算 ElasticSearch 或 Tire 中索引的所有元素?

如果不必像这样进行搜索就可以对元素进行计数,那就太好了Obj.search("id:*").count这可能吗? 最佳答案 在ElasticSearch中,您可以使用计数API对所有元素进行计数curl-XGEThttp://localhost:9200/index/_count参见CountAPI他们网站上的文档。 关于ruby-有没有办法计算ElasticSearch或Tire中索引的所有元素?,我们在StackOverflow上找到一个类似的问题: ht

ruby-on-rails - Elasticsearch、轮胎与协会

运行:Ruby1.9.3p0(2011-10-30修订版33570)[x86_64-darwin11.2.0],Rails3.2.0我正在尝试通过跨协会的TIREgem进行Elasticsearch。出于某种原因,在TIRE导入或偶尔在View上执行rake时,我不断收到以下错误/错误:Daves-MacBook-Pro:outdoordave$rakeenvironmenttire:importCLASS=GearFORCE=true[IMPORT]Deletingindex'gears'[IMPORT]Creatingindex'gears'withmapping:{"gear":

ruby-on-rails - Elasticsearch /轮胎 : How do I filter a boolean attribute?

我想过滤我类(class)的私有(private)bool值,以便它只显示非私有(private)但对我不起作用的资源。(我大大简化了代码)mappingdoindexes:private,type:"boolean"indexes:name,type:"string"endenddefself.search(params)tire.search(load:true,page:params[:page],per_page:20)doquery{stringparams[:query]}ifparams[:query].present?#SofarI'vetried...#filter:

ruby-on-rails - 无法通过 Homebrew 启动 elasticsearch 服务器

所以我通过brew安装了elasticsearch:$brewinstallelasticsearch然后当我运行elasticsearch服务器时:elasticsearch-f-Des.config=/usr/local/Cellar/elasticsearch/0.19.3/config/elasticsearch.yml我收到这个错误:{0.20.4}:SetupFailed...-FailedToResolveConfigException[Failedtoresolveconfigpath[/usr/local/Cellar/elasticsearch/0.19.3/con

ruby-on-rails - Elasticsearch 和轮胎 : Using Mapping and to_indexed_json

在阅读Tire时文档,我的印象是您应该使用mapping或to_indexed_json方法,因为(我的理解是..)使用了mapping提供to_indexed_json。问题是,我发现一些教程同时使用了这两种方法。为什么?基本上,我的应用程序现在可以使用to_indexed_json但我无法弄清楚如何设置某些属性的提升值(因此我开始查看映射的原因)并且我想知道同时使用两者是否会造成一些冲突。 最佳答案 虽然mapping和to_indexed_json方法是相关的,但实际上它们有两个不同的目的。mapping方法的目的是为索引中的

ruby-on-rails - Ruby:ElasticSearch + 轮胎错误 Tire::Search::SearchRequestFailed - IndexMissingException?

我想使用ElasticSearch+Tire来搜索存储在MongoDB中。但是,当我尝试执行搜索时出现以下错误:SearchController#index中的Tire::Search::SearchRequestFailed404:{"error":"IndexMissingException[[events]missing]","status":404}据我了解,这告诉我事件的索引丢失,即使我已经告诉它在运行db:setup时生成它们。型号:classEventincludeMongoid::DocumentincludeMongoid::TimestampsincludeTire

ruby-on-rails - Ruby:ElasticSearch + 轮胎错误 Tire::Search::SearchRequestFailed - IndexMissingException?

我想使用ElasticSearch+Tire来搜索存储在MongoDB中。但是,当我尝试执行搜索时出现以下错误:SearchController#index中的Tire::Search::SearchRequestFailed404:{"error":"IndexMissingException[[events]missing]","status":404}据我了解,这告诉我事件的索引丢失,即使我已经告诉它在运行db:setup时生成它们。型号:classEventincludeMongoid::DocumentincludeMongoid::TimestampsincludeTire

ruby - ElasticSearch的 "MoreLikeThis"查询如何使用Tire

我想执行这个exemple:$curl-XGET'http://localhost:9200/twitter/tweet/1/_mlt?mlt_fields=tag,content&min_doc_freq=1'与Tiregem.这可能吗?我的目标是搜索与另一个文档相关的文档。 最佳答案 它没有直接在tire中实现。Karmi,但是,已将其作为轮胎扩展实现在tire-contrib中存储库。源代码:more_like_this.rb通过添加gem'tire-contrib'添加more_like_this_field(:tag,li

ruby - 如何使用 Tire 和 elasticsearch 重新索引一个元素?

我似乎不知道如何编辑索引元素。谷歌也不给我答案。所以,我不确定这是否可能?我之前所做的只是重新索引整个事情,但是随着数据的增长它变得越来越慢。如何在编辑后仅重新索引一个元素。这是我现在正在做的事情。defadd_ele(ele)Tire.indexELE_INDEXdostore:id=>ele.ele_id,:title=>ele.title,:tags=>ele.tags,:itunes_description=>ele.itunes_descriptionrefreshendenddefdelete_ele_indexTire.indexELE_INDEXdodeleteende