搜索引擎 sunspot

zhou1_zhen2 · 2014年05月02日 · 最后由 lup165340815 回复于 2015年04月17日 · 8261 次阅读
  1. 配置文件 sunspot.yml 默认
  2. solr/conf/schema.xml
      <fieldType name="text" class="solr.TextField" omitNorms="false">
<!--
      <analyzer>
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StandardFilterFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.PorterStemFilterFactory"/>
      </analyzer>
-->
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StandardFilterFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StandardFilterFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
    </fieldType>
  1. model 文件: ```ruby searchable(:auto_index => true,:auto_remove => true) do text :brand_name, :stored => true text :store_name, :stored => true string :find_store_name string :find_store_name end

def find_store_name self.store_name end

def find_brand_name self.brand_name end

def after_save Message.reindex Sunspot.commit end


4. 结果全是乱的,如:
   从数据库里按条件查询得出的品牌有10个;而通过sunspot的得出的只有4个。
   不知道问题出在哪里,有的品牌可以,有的品牌就不可以。

我在本地测试倒是没问题的,我的问题是生产环境跑不起来,不知道你有没有建议,ubuntu

不好意思,我当时没看到有人回复,就再也没注意。 我的问题早解决了,是我当时解析错了。 我全文搜索的分词与 solr 存词时的分词不一致,所以才会显示错误。 生产环境跑不起来,是你的 sunspot 的 yml 文件配置存储路径错了。 你要把它的 production 改成 default. 相信你已经解决了。

#2 楼 @zhou1_zhen2 楼主你好,我最近使用 sunspot 的时候报错 too many boolean clause,你有遇到这个错误吗?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号