设为首页 加入收藏

TOP

拼音字母搜索功能 之 gem
2014-11-24 08:14:31 】 浏览:7994
Tags:拼音 字母 搜索 功能 gem
拼音字母搜索功能


使用方法



配置文件路径: config/initializers/redis_search.rb

# -*- coding: utf-8 -*-
require redis
require redis-namespace
require redis-search


begin
  redis = Redis.new(:host => 127.0.0.1,:port => 6379)
  redis.select(3)


  redis = Redis::Namespace.new(you_app_name:redis_search, :redis => redis)
  Redis::Search.configure do |config|
    config.redis = redis
    config.complete_max_length = 100
    config.pinyin_match = true
    # 是否关闭中文分词,true为关闭,可节省内存占用
    config.disable_rmmseg = true
  end
rescue
  p redis server not running
end



为模块做索引

class User < ActiveRecord::Base
  include Redis::Search


  def hits
    # 计算权重
  end


  redis_search_index(:title_field => :name, #主要索引域
                     :alias_field => :login,  #次要的索引域
                     :score_field => :hits, #传入一个方法名,根据方法返回值来确定权重
                     :prefix_index_enable => true, #逐字索引,逐字搜索时开启
                     :condition_fields => [:role], #条件,传入的是一组字段,搜索时可以以          
                                                   :conditions => {:role => :admin}) 的方法使用。
                     :ext_fields => [:email, :created_at]) #其余需要索引的域
end


# 重新build索引
rake redis_search:index

搜索

# 逐字搜索
Redis::Search.complete(User, params[:query], :conditions => {:role => :admin})


# 全文搜索
Redis::Search.query(User, params[:query], :conditions => {:role => :admin})



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Algorithms - 判断素数(prime) 详.. 下一篇java 从零开始,学习笔记之基础入..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目