Tag: solr

ruby 2.1 rails 4个太阳黑子solr测试在套件中失败但是单独通过

我的团队已经在这个问题上被困了一段时间,并且不知道接下来要去哪里尝试。 下面的规范在单独运行时可以正常工作,但是,当我们通过bundle exec ./bin/rspec spec在我们的套件中运行它时,这两个测试每次都会失败: GET / external-products /:id / deals GET /外部产品/搜索/交易 我们已经尝试了许多不同的方法来解决这个问题,我开始怀疑上述规范之外的其他内容。 所以我必须转向堆神,并请求那里有人有更好的方法,甚至更好的问题来问这个问题。 Rspec错误: 8) Retailigence Products and Locations GET /external-products/search/deals Search a given region for related deals by query string Failure/Error: expect(response_body).to have_json_type(Integer).at_path(‘deals/0/id’) JsonSpec::MissingPath: Missing JSON path “deals/0/id” # ./spec/features/external_products_spec.rb:151:in `block (3 levels) in ‘ # -e:1:in `’ 9) Retailigence Products and […]

在Solr和太阳黑子中自动完成

我正在使用RoR构建一个网站,我使用太阳黑子和solr搜索引擎。 我需要使用自动完成function,但我不能。 我知道Solr有一个叫做suggester的新东西,但我不知道如何在太阳黑子和rails应用程序中使用它。 我找到了一个名为sunspot_autocomplete的gem,我按照写的内容,但是当我尝试重新索引时,我得到了这个错误: rake aborted! RSolr::Error::Http – 400 Bad Request Error: ERROR:unknown field ‘tags_ac’ 可搜索的模型称为Experience ,我将此块放入其中 searchable do text :tags, :boost => 3 text :title, :boost => 2 text :tips autocomplete :tags, :using => :tags end 最后我发现这个博客听起来不错,但我不明白:( http://www.binrand.com/post/3338898-autocomplete-solr-architecture-rails-3-2-solr-1-4-with-sunspot-solr-gem.html 我需要您的帮助,将自动填充function放在我的应用中。 非常感谢 :) 更新:我终于修复并在搜索框中进行了演示 。

如何显示Rails SOLR多模式搜索的结果?

在我的rails控制器中我写 @all = Sunspot.search(Car, Article, Organization) do fulltext params[:search] end @all_res = @all.results 然后我有这些数据: [#, #] 但我怎么能显示这个呢? 例如,如果是汽车,那么查看一些字段,如果文章比其他字段在视图中搜索结果? 也许它是真实的展示 – 这个词在哪里找到?

对两个字段进行两次全文查询

我需要做类似以下的事情,这意味着在两个字段上发出两个不同的查询。 Video.search do fulltext weighting_factors, {:fields => :categories_as_string} fulltext prefs, {:fields => :similar_as_string} end 目前,我强制这两个字段包含具有单独命名空间的标记,并将查询组合以应用于这两个字段。 我认为这是等价的,因为prefs永远不会匹配categories_as_string中的东西,但是维护起来很痛苦。 有没有办法在上面进行查询? query = prefs + weighting_factors search = Video.search do fulltext query do fields :similar_as_string, :categories_as_string end end

如何使用acts_as_solr获取所有文档

我正在做这样的事情: Item.find_by_solr(‘name:ab*’) 它说它返回297结果: => #[doc1, doc2, doc3…]}, :max_score=>1.6935261, :total_pages=>1, :total=>297}, @current_page=1> Item.count_by_solr(‘name:ab*’) also returns 297. 然而,当迭代时它只显示10个项目: Item.find_by_solr(‘reference_name:ab*’).each do |i| puts i end 我尝试添加{:per_page => 80}和:limit =>:all但它仍然显示那些10.我知道我缺少什么吗?

我错过了Solr-Sunspot设置的哪一部分?

我以为我有这个蛋糕..但任何时候我对任何关键字进行查询它不会从SQL加载任何表。 我没有错。 user.rb searchable do string :first_name string :last_name string :name string :email time :created_at end users_controller.rb class Admin::UsersController (params[:page] && params[:page].to_i || 1), :per_page => 20 query.order_by(‘created_at’, ‘desc’) end s.execute! @users = s.results render :action => ‘index’ end 然后我跑了: $> script/console $> User.reindex 当我完全没有搜索时..成功显示所有User结果 我相信我要将所有这些字符串标记转换为文本标记,但会返回此错误: Sunspot::UnrecognizedFieldError in Admin/usersController#index No field configured for User with […]

Rails 4:Solr抛出JavaMissing错误,但安装了Java

我重启了我的Rails 4 VPS,Solr显然也关机了。 我现在正在尝试启动Solr但是当我运行以下RAILS_ENV=production bundle exec rake sunspot:solr:start我收到以下错误消息: rake aborted! Sunspot::Solr::Server::JavaMissing: You need a Java Runtime Environment to run the Solr server /home/dani/.rvm/gems/ruby-2.1.2/gems/sunspot_solr-2.1.1/lib/sunspot/solr/server.rb:203:in `ensure_java_installed’ /home/dani/.rvm/gems/ruby-2.1.2/gems/sunspot_solr-2.1.1/lib/sunspot/solr/server.rb:27:in `initialize’ /home/dani/.rvm/gems/ruby-2.1.2/gems/sunspot_solr-2.1.1/lib/sunspot/solr/tasks.rb:37:in `new’ /home/dani/.rvm/gems/ruby-2.1.2/gems/sunspot_solr-2.1.1/lib/sunspot/solr/tasks.rb:37:in `server’ /home/dani/.rvm/gems/ruby-2.1.2/gems/sunspot_solr-2.1.1/lib/sunspot/solr/tasks.rb:5:in `block (3 levels) in ‘ /home/dani/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval’ /home/dani/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `’ Tasks: TOP => sunspot:solr:start (See full trace by running task with –trace) 奇怪的是安装了Java: $ echo […]

Solr(太阳黑子),最大结果超过30?

我通过Sunspot使用Solr作为rails,但我无法弄清楚如何返回30多个结果? 说我有这个搜索块: posts = Post.search do keywords(‘something’) end 我如何确定太阳黑子应该返回所有的比赛,而不仅仅是30?

太阳黑子返回模型的所有结果

我在我的控制器中有这样的: def boards @user = User.find_by_slug(params[:id]) @search = @user.boards.solr_search do |s| s.fulltext params[:search] s.keywords params[:search] s.order_by :created_at, :desc s.paginate :page => params[:page], :per_page => 1 end @boards = @search.results respond_to do |format| format.html { render :layout => nil}# panel.html.erb format.json { render json: @boards } format.js end end 在我看来: :true %> 控制器中的@user.boards是属于用户的每个板。 但我得到了像Boards.all这样的每Boards.all 。 我想只获得属于用户的每一块板。 […]

使用Susnpot Gem进行Solr搜索

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