拼音字母搜索功能 之 gem

原创 2013年12月04日 11:25:55
拼音字母搜索功能


使用的gem: 

https://github.com/huacnlee/redis-search



使用方法



配置文件路径: 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})



版权声明:本文为博主原创文章,未经博主允许不得转载。

强大的Rails查询、搜索插件:SearchLogic

强大的Rails查询、搜索插件:SearchLogic 博客分类:  Rails2 RailsSearchLogic 参考:http://github.com/binary...
  • emerald0106
  • emerald0106
  • 2012年01月06日 16:51
  • 1060

《拼音字母》 蓝桥杯复试试题

题目描述 【编程题】(满分19分)     在很多软件中,输入拼音的首写字母就可以快速定位到某个词条。比如,在铁路售票软件中,输入: “bj”就可以定位到“北京”。怎样在自己的软件中实现这个功...
  • QianShouYuZhiBo
  • QianShouYuZhiBo
  • 2014年05月25日 11:18
  • 1353

ruby:借助第三方类名如何查找第三方gem名称(zlib为例)

rubygem中含有成千
  • mydo
  • mydo
  • 2014年08月01日 11:16
  • 1763

猫猫学iOS 之微博项目实战(5)微博自定义搜索框searchBar

猫猫分享,必须精品原创文章,欢迎转载。转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243一:效果用UITextField简单定义一个搜索框 二:调用:调...
  • u013357243
  • u013357243
  • 2015年07月29日 15:58
  • 1924

sharepoint 2016 学习系列篇(26)-文档库应用篇-(8)全文搜索功能

学习了前面很多文档库的应用,朋友们有个疑问,就是用户上传了很多文档之后,如何进行搜索,尤其是全文搜索。这个问题,在sharepoint上,有着很好很完美的解决方案,就是sharepoint的全文搜索引...
  • cxx2325938
  • cxx2325938
  • 2016年12月06日 17:06
  • 1372

Android开发中搜索功能的实现

现在很多的app中都有搜索的功能。也就是说搜索栏下面有一个列表,列表中放的内容可能是游戏,也有可能是其他的内容。这时候,我们可以在搜索框中输入你想要搜索的内容,这时候,下面的列表就会出现你想要的内容。...
  • csdnzouqi
  • csdnzouqi
  • 2016年12月14日 17:45
  • 6182

如何让我们的网站搜索功能飞起来!(系列1)

我们在做互联网的项目中,经常碰到这样一种情况,发现随着网站的逐渐发展壮大,产品也越来越多,这个时候在产品搜索方面的问题也逐渐暴漏出来,搜索服务越来越慢。碰到这种情况,我们往往在数据库方面采取一些措施,...
  • luo849278597
  • luo849278597
  • 2015年12月11日 14:42
  • 1112

php实现搜索功能

/********一个简单的搜索*****///将搜索语句加到最开始的查询语句里面;从而实现了代码的精简$news_sql = "SELECT * from books where 1=1 ...
  • alpha_xiao
  • alpha_xiao
  • 2016年05月19日 17:23
  • 7393

Unity开发app之搜索功能

搜索界面:   这个是用NGUI的Input做的,点击搜索框,在里面输入字符,调用change方法           public void OnSearchTextChange()        ...
  • qq_27880427
  • qq_27880427
  • 2016年01月25日 20:49
  • 1182

拼音字母

蓝桥杯2012 拼音字母
  • qq_35862002
  • qq_35862002
  • 2017年02月22日 12:01
  • 119
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:拼音字母搜索功能 之 gem
举报原因:
原因补充:

(最多只允许输入30个字)