- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 ROR 4.01、elasticsearch 和轮胎 gem。
文章模型
class Article
belongs_to: region
belongs_to: house
end
def self.search(params)
tire.search(page: params[:page], per_page: 12) do
query { string params[:query], default_operator: "AND" } if params[:query].present?
filter :term, region_id: params[:region_id] if params[:region_id].present?
filter :term, house_id: params[:house_id] if params[:house_id].present?
facet "regions" do
terms :region_id
end
facet "houses" do
terms :house_id
end
end
end
def index
if params[:query].present?
@articles = Article.search(params)
else
@articles = Article.all
end
end
%h3 Regions
%ul
- @articles.facets['regions']['terms'].each do |facet|
%li
= link_to_unless_current Region.find(facet['term']).name, params.merge(region_id: facet['term'])
- if params[:region_id] == facet['term'].to_s
(#{link_to "remove", region_id: nil})
- else
(#{facet['count']})
%h3 House Owners
%ul
- @articles.facets['houses']['terms'].each do |facet|
%li
= link_to_unless_current House.find(facet['term']).name, params.merge(house_id: facet['term'])
- if params[:house_id] == facet['term'].to_s
(#{link_to "remove", house_id: nil})
- else
(#{facet['count']})
最佳答案
tire is deprecated并且在当前的 Elasticsearch 版本上不受支持,所以我从内存和源代码开始,但是......terms
应该接受一系列条款。
因此,您应该能够使用这两个术语创建构面:
facet "houses_regions" do
terms [:house_id, :region_id]
end
关于ruby-on-rails - 在轮胎中乘以多面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24143280/
我想使用elasticsearch分析一个句子,因为在分析elasticsearch返回 token 后,我可以使用curl commad GET / _analyze?analyzer = snow
我正在使用tire gem从我的Rails应用程序访问 Elasticsearch 。我的代码生成以下查询,据我所知docs for sort是正确的: [2013-08-09 15:06:08,53
使用Tire.gem进行搜索我无法找到有关如何设置“默认搜索条件”的文档的正确部分谁知道如何执行此操作或可以将我引向相关的文档部分?进阶! 希望将某些条件用作基础,例如,仅将与此条件匹配的配置文件作为
我需要使用 Tire 运行搜索,并将我的查询专门定义为参数,但我不确定如何继续。 search = { query: { function_score: { query: {
将ElasticSearch与Rails 3.2.6(/ w Tire)结合使用 我的Project对象上有一个构面,它可以显示当前发布项目的月份: facet('timeline') { date
我已经安装了带有 elasticsearch 的 ubuntu 12.04 远程服务器。 我已经安装了 elasticsearch: sudo apt-get update sudo apt-get
我有以下代码,我正在尝试使用 ElasticSearch 来查询它。 当我执行 Book.search(:q=>'Foo') 时它可以工作,但当我执行 Book.search(:author=>'Do
在 tire gem 的自述文件中,我看到他们提出了两种导入模型的方法: rake environment tire:import CLASS='Article' rake environment t
Want to search for the title from the board with live_flag true. class Board title, :deals
有没有办法使用 Tire gem 从 ES 索引中批量删除文档? 有办法批量导入,但是移除呢? 批量导入示例: articles = Article.where("id < 10") Tire.ind
我在数据库中索引了一个 Car 模型,其中有一辆汽车记录 mercedes benz。如果我搜索单词 benz,我会得到一个错误: ActiveRecord::RecordNotFound in Ca
我想清楚地了解如何处理以下情况: I'm adding or removing an attribute from an activerecord model, so I want to update
我有一些 ruby 课 class MyClass include Tire::Model::Persistence attr_accessor :date mapping do
我希望 ElasticSearch(具体来说是 Tire gem)根据关键字在字段中出现的次数返回结果。例如,我在名为 Article 的模型中索引字段 title。我有两个对象,第一个对象的 tit
我们仍在生产系统中使用(重新)轮胎进行 Elasticsearch 。 我的问题是如何为索引运行导入任务并为其提供来自 mongoid 的排序数据。例如。我想在用户可以访问系统的同时索引 9000 万
我开始实现 ElasticSearch 来代替旧的自制搜索引擎。我迁移了代码的主要部分,但我必须呈现回形针提供的 url,而且我的结果中没有正确的对象 has_attached_file :内容, u
我在我的 Rails 应用程序中使用了一些持久的轮胎模型。搜索工作正常,使用 Tire.search ['index1','index2'], :load => true do ...但是我现在创建了
我正在尝试将轮胎集成到我的网站中,但我在分页时遇到了困难。我尝试在轮胎上下文之外对结果进行分页,而 will_paginate 正在处理该数组。但是,当我在轮胎的上下文中尝试 will_paginat
我是elasticsearch和tire的新手,并且我正在努力研究如何显示搜索结果的分数。 给定特定的查询字符串,我希望能够执行以下操作: 如果有多个“好”结果(高分) => 将用户发送到页面A(在它
我的 Rails 项目使用 Tire gem 实现了 ElasticSearch。我想在名为描述的字段中查找具有相似文本的记录。我想根据记录的相似程度 (%) 对结果进行排序。 类似测试的例子:1.
我是一名优秀的程序员,十分优秀!