Solr Sunspot多值字段获得匹配元素

时间:2012-07-26 07:40:10

标签: ruby-on-rails solr sunspot

我正在使用solr和EdgeNGram处理自动完成功能 并创造出多元化的领域

这里是schema.xml的详细信息

.....

<fieldType name="autocomplete" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <!--tokenizer class="solr.KeywordTokenizerFactory"/-->
    <!--tokenizer class="solr.NGramTokenizerFactory" minGramSize="2" maxGramSize="50"/-->
    <tokenizer class="solr.WhitespaceTokenizerFactory" minGramSize="2" maxGramSize="50"/>
    <filter class="solr.LowerCaseFilterFactory"/>
   <filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="25" />
 </analyzer>
 <analyzer type="query">
   <tokenizer class="solr.WhitespaceTokenizerFactory"/>
   <filter class="solr.LowerCaseFilterFactory"/>
 </analyzer>
</fieldType>

.......

<dynamicField name="*_ac" type="autocomplete" indexed="true"  stored="true" multiValued="true" />

这就是我宣布用户模型的方式

class User&lt;的ActiveRecord :: Base的   attr_accessible:email,:name

可搜索的     文字:电子邮件     文字:名字     自动填充:text_ac,:as =&gt; :text_ac,:multiple =&gt;真的        [self.email,self.name]     结束   端

我正在寻找的是获得“点击”价值的方法

当我用

查询solr时
Sunspot.search(User, Post) do with(:user_id, 1);
 adjust_solr_params do |p| p[:q] = 'text_ac:"some s"'; p[:fq] = '' end 
end.results

我可以获取实例(用户,帖子)

,但我怎样才能得到命中值 - 多值字段中的确切行 - 数组的元素

0 个答案:

没有答案