Tag: solr

太阳黑子 – 提升文本中早期匹配发生的记录

例如,假设我的数据库中有一条记录有”Hormel Corporation” ,我的搜索字词就像”Hormel Corned Beef 16 Ounces” 。 正如我目前的配置一样,最好的结果将是其他记录,即使”Hormel Corporation”是我正在寻找的。 我认为我的问题的解决方案是优先考虑匹配在搜索词中最早的记录。 我已经阅读了所有的文档,但我无法弄清楚这是如何工作的。 我只有一个字段 – 名字。 我想要的记录的名称字段是“Hormel公司”,但是当我搜索“Hormel Corned Beef 16 Ounces”时,最好的结果是ISNT“Hormel公司”,但看似随机的东西,而记录我是寻找结果中的第3或第4位。 非常感谢!

Solr,Sunspot,SQlite和Rails

我想为使用SQlite3作为数据库的项目实现全文搜索+分面。 我听说Solr非常强大。 有Sunspot和Solr教程可用,但仅适用于MySQL。 我找不到任何关于如何为SQLite3设置它的文档。 有人知道如何使用SQLite3进行设置吗? 或者这不可能吗?

EdgeNGramFilterFactory无法正常工作(没有索引?)

我无法让ngrams工作。 这是我的schema.xml: 我的数据库有一堆条目 “伊丽莎白” 和 “伊丽莎白” 当我试图查询“伊丽莎白”时,我只得到“伊丽莎白”而不是“伊丽莎白”。 奇怪的是,当我查看solr admin时,Analysis页面显示EdgenGramFilterFactory确实可用,并导致“Elizabeths”扩展为 e el el eliz eliza elizab elizabe elizabet elizabeth 看起来索引器似乎没有接受这个。 当我将同义词filter从查询块移动到索引块时,我遇到了同样的问题。 也就是说,当我在查询块中有同义词filter时,它可以工作,但是当我把它放在索引块中时,它没有任何效果。 我重新启动了太阳黑子并重新编制了多次索引。 没有骰子。 有任何想法吗? 如何直接检查索引词列表?

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 […]

Sunspot / Solr全文搜索 – 如何索引Rails关联

是否有可能通过与太阳黑子的关联进行索引? 例如,如果客户拥有多个联系人,我希望我的客户模型上有一个“可搜索”块,用于索引Contact#first_name和Contact#last_name列,以便在Customer上进行搜索。 acts_as_solr有一个:include选项。 我只是将关联的列名称组合到Customer上的文本字段中,如下所示,但这似乎不太灵活。 searchable do text :organization_name, :default_boost => 2 text :billing_address1, :default_boost => 2 text :contact_names do contacts.map { |contact| contact.to_s } end 有什么建议?

Solr / Lucene是否可以先按相关性排序,然后按第二个属性排序?

在Solr / Lucene中,可以首先按相关性排序,然后按第二个属性排序吗? 据我所知,如果我设置了一个排序参数,它会完全覆盖相关性,并按排序参数进行排序。 如何将结果首先按相关性排序,然后在两个条目具有完全相同的相关性的情况下,给出项目的点头,例如,按字母顺序排在第一位。 如果它有所不同我在Ruby on Rails中使用Solr通过Sunspot。

Rails和Sunspot方面和过滤

这里几乎是一个noobie,所以我感谢任何人可以给予的帮助。 我正试图通过太阳黑子在我的网站上添加分面。 Ryan刚刚发布了一个很棒的Railscast,它让我开始: http : //railscasts.com/episodes/278-search-with-sunspot 。 我得到了它的工作,并能够添加其他方面。 我的问题是方面彼此独立。 如果我在3个不同的属性上有3个方面,当我选择了一个已经选中的方面时,我想只显示落入这两个方面的结果。 截至目前,它只是从一个方面切换到另一个方面。 我觉得这不应该那么困难,但我无法弄清楚如何去做。 我确实找到了这个教程: http : //blog.upubly.com/2011/01/06/using-sunspot-in-your-views/我觉得这样做我想要的。 我试图让这个工作,但是,即使我试图让它只用一个方面工作,我没有列出任何结果。 只是小平面的名称,然后没有别的。 思考? 谢谢!! UPDATE 以下是我要做的代码示例: 调整Railscasts代码我得到了这个: 在我的StylesController中: def index @search = Style.search do fulltext params[:search] facet :departmental, :seasonal, :classifier with(:departmental, params[:department]) if params[:department].present? with(:classifier, params[:classification]) if params[:classification].present? with(:seasonal, params[:season]) if params[:season].present? end 在我的样式索引视图中(我知道我需要浓缩这个) = form_tag styles_path, :method => […]

rake sunspot:solr:reindex不能在带有多个引擎的Rails 4 app中工作

我有多个引擎的rails 4 beta1应用程序。 我在我的主机应用程序中安装了sunspot_rails gem /2.0.0.pre.130115/。 我的大多数模特都住在engine1。 我在其他引擎上使用它们。 安装sunspot_rails后,使用rake sunspot:solr:run sunspot rake sunspot:solr:run我command/task not found 。 根据文档,我找到了解决方案。 这是链接: https : //github.com/sunspot/sunspot/wiki/Adding-Sunspot-search-to-Rails-in-5-minutes-or-less 在我创建新记录后,Solr在搜索中找到了它。 但是当我重新编制数据索引时,仍然没有通过搜索找到旧记录。 在我看来,reindex没有奏效。 我已经尝试停止并重新启动solr服务器,重启我的电脑几次但没有运气。 任何的想法? 如果您需要更多信息,请告诉我。 这是我的gem: Gems included by the bundle: * actionmailer (4.0.0.beta1) * actionpack (4.0.0.beta1) * activemodel (4.0.0.beta1) * activerecord (4.0.0.beta1) * activerecord-deprecated_finders (0.0.3) * activesupport (4.0.0.beta1) * admin (0.0.1) * […]

连接在Rspec中被solr拒绝

我用sunspot-rails进行搜索。 这些是Rspec看起来像: describe “GET search” do before(:all) do system(“rake”, “sunspot:solr:start”) end after(:all) do system(“rake”, “sunspot:solr:stop”) end it “should do some search” do Text.search do … end end end 但它不起作用。 我失败了: Errno::ECONNREFUSED: Connection refused – connect(2) 但是如果我输入rake sunspot:solr:start RAILS_ENV=test在命令行中手动rake sunspot:solr:start RAILS_ENV=test ,然后运行规范,它就会通过。 怎么了? 不是rake sunspot:solr:start RAILS_ENV=test在测试模式下rake sunspot:solr:start RAILS_ENV=test等同于system(“rake”, “sunspot:solr:start”)的测试? (我试过`system(“rake”,“sunspot:solr:start RAILS_EVN = test”)。相同。)

如何从Sunspot Solr Rubygem旋转,覆盖或关闭日志记录?

我在使用Sunspot Solr搜索Ruby on Rails方面有很棒的经验,但是,它的日志文件正在变得非常大,我似乎无法找到一种方法来旋转 , 覆盖或关闭这些日志(除了非常我宁愿不追求的hacky方法。 我在config /中有一个文件sunspot.yml ,我尝试将log_level标志设置为SEVERE ,但这没有任何效果。 我尝试使用标准的Logger.config旋转方法,只是将我的开发日志输出发送到新创建的文件。 我非常感谢您提供的任何建议。