Tag: 搜索

使用Susnpot Gem进行Solr搜索

我目前正在使用太阳黑子gem在我的rails应用程序中实现全文搜索。 通过Sunspot / Solr在我的网站上查询正在运行并返回正确的结果。 但是,当我尝试使用Solr管理页面进行查询时,我很难显示结果。 使用查询字符串*:*我可以显示索引数据库中包含的所有结果,但我无法进行正确的查询。 如果我尝试使用*:*以外的字符串进行查询,例如test ,则不返回任何结果,我留下: 0 21 *,score on 0 test 2.2 10 使用字符串: test在实际rails应用程序上进行相同的查询返回超过100个结果。 如何在Solr管理页面中进行查询返回与在rails应用程序中进行的查询相同的项目?

将索引中的meta_search gem与现有的地理编码器gem搜索(rails)集成

我已经使用地理编码器实现了基于位置的搜索,并且无法集成meta_search gem。 我正在尝试将meta_search集成到我的object_controller index以允许用户按对象过滤和排序搜索结果:attributes已经按位置搜索。 我的object_controller: def index if params[:search].present? @objects = Object.near(params[:search], 50, :order => :distance).paginate(:page => params[:page], :per_page => 9) else @objects = Object.paginate(:page => params[:page], :per_page => 9) end end 知道如何最好地将@search集成到meta_search gem所需的索引中吗? 以下是meta_search github为索引推荐的内容: def index @search = Article.search(params[:search]) @articles = @search.all # load all matching records # @articles = @search.relation # Retrieve […]

使用ActiveRecord在Rails中实现复杂的关系

我的另一个问题 : 我需要做的是:用自己的指定信息字段创建多个类别(即,汽车与Pets有不同的字段),一旦创建了这样的类别,我将调用我需要的命令,每个类别的新表将会做成。 我知道我可以将所有字段存储为某种字符串,然后处理它以正确显示它,但我需要为我的Web应用程序提供高级搜索function,并为每个类别创建单独的表似乎是实现它的最佳方式。 我真的很想听听这个的替代方案 所以我有这种情况,我需要类别来保存该特定类别所需的所有输入字段。 所以在管理中,我有这样的表格,我可以将类别名称,一些其他相关信息添加到类别本身,然后这些字段将收集有关在制作时向用户呈现的HTML字段的信息。进入这个特定类别。 例如,这将是一个狗类: 分类名称:狗 启用类别:1 分类父母:宠物 领域: 标题 – 文本字段(将自动添加到每个类别) 品种 – 选择领域 年龄 – 数字字段 颜色 – 文本字段 价格 – 数字字段(将自动添加到每个类别) 描述 – 文本区域字段(将自动添加到每个类别) 所以现在在这个阶段,当用户为Dog类别创建所有这些特定字段时,我无法确定当用户点击提交按钮以保存此类别时会发生什么。 我想到了这两个解决方案: 为每个新类别创建一个新模型/表(上面的读取链接问题),将所有HTML字段作为列,并在categories表上存储一行,其中包含有关此类别的一些基本信息 将所有内容存储在categories表中,并有一个fields_json列,它将存储所有HTML字段信息(我实际上不会存储HTML,但基本信息是字段的内容,然后在控制器中动态创建HTML表单字段)作为JSON字符串。 我可以在create很好地呈现这些字段,但是在update时填充这些字段(可能)会很麻烦,搜索function对于这种替代方案来说效率不高。 所以我正在寻找的是第三种选择,所以我可以解决我的问题。 什么是解决此问题的有效方法,并能够使用不同的输入字段的类别,并能够有效地执行这些类别的搜索? 我正在开发的项目是在Ruby on Rails 4中创建的,数据库是在MySQL中创建的。

在Rails 3.0中搜索多个db列

我正在尝试编写一个搜索2 db列并返回结果的语句。 如果不使用像Searchlogic这样的gem,这可以轻松完成吗? def self.search(search) if search find(:all, :conditions => [‘city LIKE ?’, “%#{search}%”]) else find(:all) end end 到目前为止,我所做的是一个在我的数据库的city字段上执行搜索的语句。 但是,我想要包含function来涵盖按州搜索某人的情况。 因此,如果某人键入“CA”,搜索将返回加利福尼亚州的每个商家信息。 如果用户键入“洛杉矶”,将返回洛杉矶的列表。 简而言之,我想同时查询2个db字段并返回适当的结果。 这可以通过一个简单的声明来完成吗?

solr,太阳黑子,坏请求,非法字符

我正在向我的项目介绍太阳黑子搜索。 我只是通过名字字段搜索获得了POC。 当我介绍说明字段并重新索引销售时,我收到以下错误。 ** Invoke sunspot:reindex (first_time) ** Invoke environment (first_time) ** Execute environment ** Execute sunspot:reindex Skipping progress bar: for progress reporting, add gem ‘progress_bar’ to your Gemfile rake aborted! RSolr::Error::Http: RSolr::Error::Http – 400 Bad Request Error: {‘responseHeader’=>{‘status’=>400,’QTime’=>18},’error’=>{‘msg’=>’Illegal character ((CTRL-CHAR, code 11)) at [row,col {unknown-source}]: [42,1]’,’code’=>400}} Request Data: “ItemsDesign 1322ItemsDesignActiveRecord::BaseItemsDesignRiver City Clocks Musical Multi-Colored […]

从Rails应用程序(Word,PDF,Excel等)搜索附件

我在Stack Overflow上的第一篇post请你温柔一点! 我即将为客户启动一个新的Ruby on Rails(3.1)项目。 他们的要求之一是有一个搜索引擎,它将索引大约2,000个文档,这些文档是PDF,Word,Excel和HTML的混合。 我曾希望使用思考 – 狮身人面像或Texticle(最流行于https://www.ruby-toolbox.com/categories/rails_search.html ),但据我所知: Texticle需要PostgreSQL。 我在MySQL上。 思考-sphinx不会在文件系统上索引文件。 即使我将附件保存到数据库中,思考 – sphinx仍然无法正常工作,因为它需要纯文本(根据http://groups.google.com/group/thinking-sphinx/browse_thread/thread/69cdc1c8e1c096ff ) 所以我有两个选择: 选择其他搜索工具 尝试将附件的纯文本版本提取到数据库中,以便思考sphinx进行读取 你推荐哪种方法? 如果它是一个不同的搜索工具,哪一个? 我的要求非常基本,所以我真的很喜欢一个很容易设置的,有很多文档,示例和教程! 如果它正在提取,你能推荐常用文件类型的提取器,如PDF,Word,Excel和HTML吗? 感谢大家。 非常感谢您的帮助。

Rails auto_complete标记搜索filter

尝试实现rails auto_complete插件以帮助用户选择主页上没有出现的标签,因为可能会有数百个标签,并且只能显示一小部分标签。 我的导航工作方式是这样的:我从一个类别显示页面开始,显示该类别中的所有文章。 当用户点击标记时,会在url中显示标记filter,如下所示: http://localhost:3000/categories/Stories?tag=scary 这将显示故事类别中标记为“可怕”的所有文章。 由于“可怕”不是一个流行的标签,它不会出现在主页上,但如果你把它放入自动填充文本字段,“scary”就会显示出来。 我希望提交标记呈现与上面相同的URL。 但我得到的东西有点不同: http://localhost:3000/categories/ShortStories?tag[name]=scary 不幸的是,这个filter不会返回任何东西,因为那个讨厌的[名字]潜入那里。 这是我自动完成的控制器代码: class CategoriesController < ApplicationController auto_complete_for :tag, :name 和观点 ‘get’ do %> 15 } %> nil %> :name似乎是必需的,因为auto_complete需要指定一个列名,但是当我点击提交时我想把它从url中删除。 有任何想法吗?

如何基于RailsCasts教程在rails中进行简单搜索?

我按照RailsCasts教程使用自动完成进行简单搜索,但它不起作用。 🙁 视图/销售商/索引: ‘get’ do %> :get, :class => ‘textbox’} %> nil %> 我将@searchterm和@ searchvendor.id作为validation步骤。 所以这应该调用controller => vendor,action => index: def index @searchterm = params[:vendor][:name] @searchvendor = Vendor.search(‘checkpoint’) 并且为供应商/模型创建如下搜索方法: def self.search(search) if search find(:all, :conditions => [‘name LIKE ?’, “%#{search}%”]) else find(:all) end 输出? @searchterm会显示输入的值,因为它显示在URL中作为vendor [name] =? @ searchvendor.id是一个长字符串,@ searchvendor.name显示错误,name不是方法。 我很难过。 请帮忙? 链接到教程: http://railscasts.com/episodes/37-simple-search-form

Rails:从一个查询中搜索多个表

如何在find或paginate方法中编写条件语句以允许用户同时在Project和Project Category名称中进行搜索? 现在我的代码看起来像这样 @projects = Project.paginate :per_page => 20, :page => params[:page], :conditions => [‘name LIKE ?’, “%#{params[:search]}%”] 所以我还有name字段的Category表。 如何在此搜索查询中将这两个name组合在一起?

Rails ActiveRecord – 在多个属性上搜索

我正在实现一个简单的搜索function,它应检查username,last_name和first_name中的字符串。 我在旧的RailsCast上看过这个ActiveRecord方法: http://railscasts.com/episodes/37-simple-search-form find(:all, :conditions => [‘name LIKE ?’, “%#{search}%”]) 但是我如何设置它以便在name,last_name和first name中搜索关键字并返回记录,如果其中一个字段与该术语匹配? 我也想知道RailsCast上的代码是否容易出现SQL注入? 非常感谢!