sonic 安装记录
https://github.com/valeriansaliou/sonic
$ rustc --version
rustc 1.50.0-dev
ubantu环境
rocksdb 安装依赖
apt install build-essential
apt install clang
apt install libclang-dev
apt install libc6-dev
apt install g++
apt install llvm-dev
rust换源
$ cd .cargo/
tanpengfei3@bage:~/.cargo$ ls
bin config env registry
tanpengfei3@bage:~/.cargo$ cat config
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
#registry = "git://mirrors.ustc.edu.cn/crates.io-index"
# 如果所处的环境中不允许使用 git 协议,可以把上面的地址改为
registry = "https://mirrors.ustc.edu.cn/crates.io-index"
git clone https://github.com/dbtool/sonic.git
配置文件
$ cat /etc/sonic/config.cfg
# Sonic
# Fast, lightweight and schema-less search backend
# Configuration file
# Example: https://github.com/valeriansaliou/sonic/blob/master/config.cfg [server] log_level = "debug" [channel] inet = "127.0.0.1:1491"
tcp_timeout = 300 auth_password = "SecretPassword" [channel.search] query_limit_default = 10
query_limit_maximum = 100
query_alternates_try = 4 suggest_limit_default = 5
suggest_limit_maximum = 20 [store] [store.kv] path = "/opt/data/sonic/data/store/kv/" retain_word_objects = 1000 [store.kv.pool] inactive_after = 1800 [store.kv.database] flush_after = 900 compress = true
parallelism = 2
max_files = 100
max_compactions = 1
max_flushes = 1
write_buffer = 16384
write_ahead_log = true [store.fst] path = "/opt/data/sonic/data/store/fst/" [store.fst.pool] inactive_after = 300 [store.fst.graph] consolidate_after = 180 max_size = 2048
max_words = 250000
编辑
:/opt/wks/sonic$ cargo build
Downloaded ahash v0.4.6 (registry `https://mirrors.ustc.edu.cn/crates.io-index`)
Downloaded cc v1.0.61 (registry `https://mirrors.ustc.edu.cn/crates.io-index`)
Downloaded getrandom v0.1.15 (registry `https://mirrors.ustc.edu.cn/crates.io-index`)
Downloaded hashbrown v0.9.1 (registry `https://mirrors.ustc.edu.cn/crates.io-index`)
Downloaded proc-macro2 v1.0.24 (registry `https://mirrors.ustc.edu.cn/crates.io-index`)
Downloaded regex v1.4.1 (registry `https://mirrors.ustc.edu.cn/crates.io-index`)
Downloaded regex-syntax v0.6.20 (registry `https://mirrors.ustc.edu.cn/crates.io-index`)
Downloaded rocksdb v0.15.0 (registry `https://mirrors.ustc.edu.cn/crates.io-index`)
Downloaded serde v1.0.116 (registry `https://mirrors.ustc.edu.cn/crates.io-index`)
Downloaded serde_derive v1.0.116 (registry `https://mirrors.ustc.edu.cn/crates.io-index`)
Downloaded syn v1.0.44 (registry `https://mirrors.ustc.edu.cn/crates.io-index`)
Downloaded toml v0.5.7 (registry `https://mirrors.ustc.edu.cn/crates.io-index`)
Downloaded aho-corasick v0.7.14 (registry `https://mirrors.ustc.edu.cn/crates.io-index`)
Downloaded 13 crates (1.4 MB) in 4.19s
Compiling libc v0.2.79
Compiling cfg-if v0.1.10
Compiling memchr v2.3.3
Compiling proc-macro2 v1.0.24
Compiling version_check v0.9.2
Compiling bitflags v1.2.1
Compiling glob v0.3.0
Compiling unicode-xid v0.2.1
Compiling lazy_static v1.4.0
Compiling log v0.4.11
Compiling unicode-width v0.1.8
Compiling quick-error v1.2.3
Compiling regex-syntax v0.6.20
Compiling ansi_term v0.11.0
Compiling bindgen v0.54.0
Compiling vec_map v0.8.2
Compiling strsim v0.8.0
Compiling getrandom v0.1.15
Compiling termcolor v1.1.0
Compiling peeking_take_while v0.1.2
Compiling byteorder v1.3.4
Compiling lazycell v1.3.0
Compiling shlex v0.1.1
Compiling rustc-hash v1.1.0
Compiling fs_extra v1.2.0
Compiling autocfg v1.0.1
Compiling serde v1.0.116
Compiling ppv-lite86 v0.2.9
Compiling syn v1.0.44
Compiling utf8-ranges v1.0.4
Compiling ahash v0.3.8
Compiling nix v0.18.0
Compiling serde_derive v1.0.116
Compiling linked-hash-map v0.5.3
Compiling regex-syntax v0.3.9
Compiling ahash v0.4.6
Compiling radix v0.6.0
Compiling unicode-segmentation v1.6.0
Compiling thread_local v1.0.1
Compiling textwrap v0.11.0
Compiling humantime v1.3.0
Compiling nom v5.1.2
Compiling clang-sys v0.29.3
Compiling hashbrown v0.7.2
Compiling linked_hash_set v0.1.4
Compiling hashbrown v0.9.1
Compiling aho-corasick v0.7.14
Compiling quote v1.0.7
Compiling whatlang v0.10.0
Compiling regex v1.4.1
Compiling jobserver v0.1.21
Compiling atty v0.2.14
Compiling which v3.1.1
Compiling memmap v0.6.2
Compiling cc v1.0.61
Compiling clap v2.33.3
Compiling env_logger v0.7.1
Compiling cexpr v0.4.0
Compiling rand_core v0.5.1
Compiling fst v0.3.5
Compiling rand_chacha v0.2.2
Compiling fst-regex v0.2.2
Compiling fst-levenshtein v0.2.1
Compiling rand v0.7.3
Compiling libloading v0.5.2
Compiling jemalloc-sys v0.3.2
Compiling toml v0.5.7
Compiling twox-hash v1.5.0
Compiling librocksdb-sys v6.11.4
Compiling jemallocator v0.3.2
Compiling rocksdb v0.15.0
Compiling sonic-server v1.3.0 (/opt/wks/sonic)
Finished dev [unoptimized + debuginfo] target(s) in 5m 37s
以root用户运行
root@bage:/opt/wks/sonic/target/debug# ./sonic -c /etc/sonic/config.cfg
go客户端
https://github.com/expectedsh/go-sonic
package main import (
"fmt"
"github.com/expectedsh/go-sonic/sonic"
) func main() { ingester, err := sonic.NewIngester("127.0.0.1", 1491, "SecretPassword")
if err != nil {
panic(err)
} // I will ignore all errors for demonstration purposes _ = ingester.BulkPush("movies", "general", 3, []sonic.IngestBulkRecord{
{"id:6ab56b4kk3", "Star wars"},
{"id:5hg67f8dg5", "Spider man"},
{"id:5hg67f8dg6", "super man"},
{"id:1m2n3b4vf6", "Batman"},
{"id:68d96h5h9d0", "This is another movie"},
}) search, err := sonic.NewSearch("127.0.0.1", 1491, "SecretPassword")
if err != nil {
panic(err)
} results, _ := search.Query("movies", "general", "man", 10, 0) fmt.Println(results)
}
$ go run sc.go
[id:5hg67f8dg6 id:5hg67f8dg5]
sonic 安装记录的更多相关文章
- 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL
前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...
- 关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用
关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用 工作环境:window下 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...
- sourceinsight安装记录
sourceinsight安装记录 此文章为本人使用sourceinsight一个星期之后的相关设置步骤记录和经验记录,以备以后查验,网上的相关资料都也较为完善,但是对于新手还是有一定困难的,所以在这 ...
- openerp安装记录及postgresql数据库问题解决
ubuntu-14.04下openerp安装记录1.安装PostgreSQL 数据库 a.安装 sudo apt-get install postgresql 安装后ubu ...
- Matlab安装记录 - LED Control Activex控件安装
Matlab安装记录-LED Control Activex控件安装 2013-12-01 22:06:36 最近在研究Matlab GUI技术,准备用于制作上位机程序:在Matlab GUI的技术 ...
- Arch Linux 安装记录
Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...
- redis5.0.3单实例简单安装记录
redis5.0.3单实例简单安装记录 日常需要测试使用,索性记录下来,免得临时又麻烦的找资料. yum -y install make gcc-c++ cmake bison-devel ncurs ...
- mysql5.7安装记录
mysql安装记录 版本5.7 windows系统 一.缺少my.ini文件 [mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设 ...
- Liunx/RHEL6.5 Oracle11 安装记录
1.创建用户组 groupadd oinstall #创建用户组oinstall groupadd dba #创建用户组dba useradd -g oinstall -g dba -m oracle ...
随机推荐
- Go语言核心36讲(Go语言进阶技术十五)--学习笔记
21 | panic函数.recover函数以及defer语句 (上) 在本篇,我要给你展示 Go 语言的另外一种错误处理方式.不过,严格来说,它处理的不是错误,而是异常,并且是一种在我们意料之外的程 ...
- 攻防世界 Misc 新手练习区 give_you_flag Writeup
攻防世界 Misc 新手练习区 give_you_flag Writeup 题目介绍 题目考点 gif图片分离 细心的P图 二维码解码 Writeup 下载附件打开,发现是一张gif图片,打开看了一下 ...
- 一文了解cookie
@ 目录 什么是Cookie? Cookie 的作用 Cookie原理 Cookie的分类 会话 Cookies 永久性 Cookies Cookie 的属性 name value Domain Pa ...
- LeetCode刷题 树专题
树专题 关于树的几个基本概念 1 树的节点定义 2 关于二叉树的遍历方法 2.1 前序遍历 2.2 中序遍历 2.3 后序遍历 2.4 层序遍历 3 几种常见的树介绍 3.1 完全二叉树 3.2 二叉 ...
- 解决IntelliJ IDEA的Plugins无法访问Marketplace去下载插件
本文图文讲解如何解决IntelliJ IDEA的Plugins无法访问Marketplace去下载插件. 默认打开IDEA的Plugins会加载很久,最后什么也没加载出来. 这时我们可以给插件市场设置 ...
- 【linux系统】命令学习(一)ssh
ssh 1.在终端执行命令 ssh -p22 username@host 2.密码输入是看不到内容的 3.登入成功后默认进入的是home目录,就是根目录下的home目录 4.[root@VM-4-1 ...
- [hdu7026]Might and Magic
(以下默认$A_{0},D_{0},P_{0},K_{0}$都为非负整数) 显然存活轮数$S=\lceil\frac{H_{0}}{C_{p}\max(A_{1}-D_{0},1)}\rceil$ ...
- 如何用LOTO示波器TDR方法测试电线长度?
TDR也就是时域反射(Time-domain reflectometer),它可以通过观察导线中反射回来的电信号波形对导线长度进行测量,或者对传输导线的阻抗特性进行分析评估. 我们经常会碰到的TDR的 ...
- ☕【Java深层系列】「技术盲区」让我们一起完全吃透针对于时间和日期相关的API指南
技术简介 java中的日期处理一直是个问题,没有很好的方式去处理,所以才有第三方框架的位置比如joda.文章主要对java日期处理的详解,用1.8可以不用joda. 时间概念 首先我们对一些基本的概念 ...
- C/C++ Qt 给ListWidget增加右键菜单
在上一篇博文<C/C++ Qt ListWidget 列表框组件应用>中介绍了ListWidget组件的基本使用技巧,本次将给ListWidget组件增加一个右键菜单,当用户在ListWi ...