Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 太阳黑子类查询_Ruby_Solr_Sunspot_Sunspot Rails_Edismax - Fatal编程技术网

Ruby 太阳黑子类查询

Ruby 太阳黑子类查询,ruby,solr,sunspot,sunspot-rails,edismax,Ruby,Solr,Sunspot,Sunspot Rails,Edismax,我正在使用太阳黑子。如何运行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[

我正在使用太阳黑子。如何运行
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
这在一定程度上对我有效。回顾
太阳黑子
代码,我发现了以下代码:

class StartingWith < Base
  private

  def to_solr_conditional
    "#{solr_value(@value)}*"
  end
end

如果没有更简单的方法实现
LIKE%query%
,我应该如何使用方法
创建一个新的类
LIKE
,该方法生成solr逻辑?

如果使用标准的DisMax处理程序,它不支持通配符。您有两种选择:

a。激活Edgengram过滤器:

<fieldType name="text" class="solr.TextField" omitNorms="false">
  <analyzer type="index">
    ..
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/>
    ..
  </analyzer>
</fieldType>


请参见或。

您所说的“部分为我工作”是什么意思?:)事实上,问题是搜索不起作用,或者您只是想要一个方法别名?还有,“没有更简单的方法”是什么意思?还有什么比这更简单的呢。从('sta')开始?嘿,弗拉德,谢谢你的回答,我将在下面的要点中解释为什么它对我部分有效。谢谢那么,你解决问题了吗?这个回答有用吗?嘿,弗拉德,刚刚意识到你已经回答了,谢谢。正在检查:)。
<fieldType name="text" class="solr.TextField" omitNorms="false">
  <analyzer type="index">
    ..
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/>
    ..
  </analyzer>
</fieldType>