- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 sunspot
。如何运行 LIKE
查询 (LIKE %q%
)?我想做这样的事情:
@search = Sunspot.search(User) do |q|
q.text_fields { with(:company_name).like(params[:q]) }
end.results
代替:
@search = Sunspot.search(User) do |q|
q.text_fields { with(:company_name).starting_with(params[:q]) }
end.results
这部分对我有用。查看sunspot
代码,我发现了这段代码:
class StartingWith < Base
private
def to_solr_conditional
"#{solr_value(@value)}*"
end
end
它基本上生成以下太阳黑子搜索哈希:
Sunspot.search(User) do |q|
q.text_fields { with(:company_name).starting_with("sta")} }
end
=> Sunspot::Search:{:q=>"*:*", :fq=>["type:User", "company_name_text:sta*"]}
如果没有更简单的方法来实现 LIKE %query%
,我应该如何使用 to_solr_conditional
方法创建一个新类 Like
生成 SOLR 逻辑?
最佳答案
如果您使用标准的 DisMax 处理器,它不支持通配符。您有 2 个选择:
一个。激活 EdgeNGramFilter:
<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer type="index">
..
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/>
..
</analyzer>
</fieldType>
使用每晚构建 Solr 与 EDismax Handler .
关于ruby - 太阳黑子 `LIKE`查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5943254/
我正在将 solr 实现到 Rails 应用程序中,特别是与成分搜索相关的应用程序。如果我对“beef”或“chicken”等简单名词进行部分单词匹配,我可以输入从 1 到完整字符串的任意数量的字母,
我正在使用Sunspot生成很多我的应用程序索引和概述。 在这个应用程序中,我有2个模型,这些模型具有 parent / child 一对多的关系。使用Sunspot I,我可以索引 parent 拥
我正在使用 sunspot。如何运行 LIKE 查询 (LIKE %q%)?我想做这样的事情: @search = Sunspot.search(User) do |q| q.text_fie
鉴于我想找到 20 个相关结果,我将如何提升 any_of (with(:id).any_of(co_author_ids)) 中的第一个条件,以便如果有 20 个结果与所述条件匹配,它将返回而不是尝
我知道这样做是可能的: bod = Time.zone.now.beginning_of_day facet :start_time do row :past do with(
Assets 模型: searchable do text :title text :description time :created_at integer :categor
我在排序时遇到了一系列太阳黑子问题和编码问题。 主要问题是使用带重音的巴西词。例如,对于一组名称为: 阿尔贝托 安娜 玛丽亚 阿尔瓦罗 在调用 order_by 方法后,名字 Álvaro 总是出现在
我正在将太阳黑子搜索引入我的项目。我只通过名称字段搜索就得到了一个 POC。当我引入描述字段并重新索引已售出时,我收到以下错误。 ** Invoke sunspot:reindex (first_ti
我通过 Sunspot 将 Solr 用于 Rails,但我不知道如何返回 30 多个结果? 假设我有这个块用于搜索: posts = Post.search do keywords('somet
articles = Article.search do |s| s.fulltext "Java Script" end 我如何告诉太阳黑子像给我所有与“Java Script”完全匹配的结
我将 Solr 与 Sunspot/dismax 结合使用。是否可以查询非字母字符?即: ~! @# $ % ^ & * ( ) _ + - = [ ] { } |\ 我知道 +/- 必须转义,因为它
我正在按多个标量字段进行范围界定,我希望将范围界定的结果推到搜索结果的顶部,而不排除不符合最喜欢作者标准的结果。 文章拥有并属于许多作者 这行不通,但这是我想要的: favorite_author_i
假设我们有一个由 sunspot/solr/lucene(或任何其他搜索引擎)索引的文章列表。 如何查找与给定文章相似的文章? 是否应该使用恢复工具来完成此操作,例如: http://www.word
我正在尝试让 gems sunspot_rails 和 sunspot_solr 启动并运行。我已经下载了所有最新的 gem,并实现了来自 https://github.com/sunspot/sun
我有一个模型,比如说 Post。它有标签。每个标签都有一个应该反射(reflect)在搜索中的权重。我能否以某种方式存储这些标签并增加每个标签的权重? 例子: 帖子标题是“在外面吃饭”标签是“汉堡”(
如何将 Sunspot search do block 中的通用代码重构为可以从多个地方调用的方法?我怀疑这可能更像是一个 Ruby 元编程问题,而不是一个特定于 Sunspot 的问题,但这里是。
在多个字段中使用 Sunspot/Solr 的方法是什么?它可以很好地处理一个简单的表单,如这个截屏视频中所解释的:http://railscasts.com/episodes/278-search-
我遇到了一个奇怪的问题,我正在寻找您的输入。 我的问题是: 使用 Capistrano 在生产环境中部署我的应用程序后,当我进行 solr 重新索引时,它给了我以下错误: $ bundle exec
我正在尝试将 sunspot 与 Rails 4 一起使用,但遇到了一些问题。当我的 gemfile 中只有 gem 'sunspot_rails', '2.0.0' 时,我收到此错误: Note:
我正在尝试将时间戳字段添加到我的模型中,以便由 Sunspot/Solr 建立索引。 Solr 对此感到窒息并产生一个 NumberFormatException: class Book < Acti
我是一名优秀的程序员,十分优秀!