zoukankan      html  css  js  c++  java
  • Redis模块学习笔记(一)RediSearch简单使用

    说明:安装的Redis服务器必须为 4.0 以上版本,通过info命令查看

    127.0.0.1:6379> INFO
    redis_version:4.0.2

    一、安装 RediSearch

    git clone https://github.com/RedisLabsModules/RediSearch.git
    cd RediSearch/src
    make all
    
    # Assuming you have a redis build from the unstable branch:
    /path/to/redis-server --loadmodule ./redisearch.so

    二、启动服务

    www@TinywanAliYun:/usr/local/redis4.0/etc$ /usr/local/redis4.0/bin/redis-server --loadmodule /home/www/build/RediSearch/src/redisearch.so
    22886:C 15 Nov 16:54:07.255 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    22886:C 15 Nov 16:54:07.255 # Redis version=4.0.2, bits=64, commit=00000000, modified=0, pid=22886, just started
    22886:C 15 Nov 16:54:07.255 # Configuration loaded
    22886:M 15 Nov 16:54:07.256 # Creating Server TCP listening socket *:6379: bind: Address already in use

    可以动态加载

    www@TinywanAliYun:/usr/local/redis4.0/etc$ redis-cli 
    127.0.0.1:6379> MODULE LOAD /home/www/build/RediSearch/src/redisearch.so

    配置文件加载:

    vi /usr/local/redis4.0/etc/redis.conf
    #文件底部加入
    loadmodule /home/www/build/RediSearch/src/redisearch.so

    重启服务器

    sudo systemctl restart redis

    三、使用

    (1)使用字段和权重创建索引(默认权重为1.0)

    127.0.0.1:6379> FT.CREATE myIdx SCHEMA title TEXT WEIGHT 5.0 body TEXT url TEXT
    OK 

    (2)将文档添加到索引

    127.0.0.1:6379> FT.ADD myIdx doc1 1.0 FIELDS title "hello world" body "lorem ipsum" url "http://redis.io" 
    OK

    (3)搜索索引

    127.0.0.1:6379> FT.SEARCH myIdx "hello world" LIMIT 0 10
    1) (integer) 1
    2) "doc1"
    3) 1) "title"
       2) "hello world"
       3) "body"
       4) "lorem ipsum"
       5) "url"
       6) "http://redis.io"

    注意:输入预计是有效的utf-8或ascii。目前引擎无法处理宽字符unicode。

    (4)删除索引

    127.0.0.1:6379> FT.DROP myIdx
    OK

    (5)添加和获取自动完成建议

    127.0.0.1:6379> FT.SUGADD autocomplete "hello world" 100
    OK
    
    127.0.0.1:6379> FT.SUGGET autocomplete "he"
    1) "hello world"

     

  • 相关阅读:
    STL--sort源码分析
    进程和线程的区别
    static 关键字 静态成员变量及静态成员函数
    二叉树遍历总结 先序、中序、后续、广度、深度
    C++用new和不用new创建类对象区别
    传输层--TCP和UDP的区别
    传输层的作用
    微信商户/H5支付申请 被拒原因:网站存在不实内容或不安全信息
    Oracle本地网络服务名配置
    存储过程常用技巧
  • 原文地址:https://www.cnblogs.com/tinywan/p/7839928.html
Copyright © 2011-2022 走看看