sonic轻量级的搜索引擎,极致的性能,只用来单纯的查询

2023-11-22 14:40

本文主要是介绍sonic轻量级的搜索引擎,极致的性能,只用来单纯的查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

sonic是利用rust语言开发的一款轻量级快捷纯净的搜索引擎,不适用于windows系统上部署,比较适合在docker容器上部署

1.在ubuntu上启动docker容器

 

2.在docker容器上下载sonic的镜像文件

docker pull valeriansaliou/sonic:v1.2.0

下载完成后,我们需要配置一份配置文件,比如说sonic的服务器端口号呀等等

 配置文件内容如下:

# 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 = "0.0.0.0:1491"
tcp_timeout = 300auth_password = "SecretPassword"[channel.search]query_limit_default = 10
query_limit_maximum = 100
query_alternates_try = 4suggest_limit_default = 5
suggest_limit_maximum = 20[store][store.kv]path = "/var/lib/sonic/store/kv/"retain_word_objects = 1000[store.kv.pool]inactive_after = 1800[store.kv.database]flush_after = 900compress = true
parallelism = 2
max_files = 100
max_compactions = 1
max_flushes = 1
write_buffer = 16384
write_ahead_log = true[store.fst]path = "/var/lib/sonic/store/fst/"[store.fst.pool]inactive_after = 300[store.fst.graph]consolidate_after = 180

在这份配置文件中,你必须注意两个点: 

net,sonic的监听端口,这里默认为"0.0.0.0:1491"。
auth_password,sonic的密码,这里默认为"SecretPassword"。

 然后将文件放在一个合适的位置,记住这个位置,等下启动要用到

/Users/pedro/Desktop/sonic-test/config.cfg

 

  文件配置好后,开始启动服务器

 在docker环境下运行

docker run -p 1491:1491 -v ~/Desktop/sonic-test/config.cfg:/etc/sonic.cfg  valeriansaliou/sonic:v1.2.0

 显示这样则表明启动成功

                  

然后用另一个终端来telnet来连接这个端口1491的服务器

             

注意,这里有个坑,当你telnet上端口之后呢,要马上登录上 sonic服务器,也就是这一行命令

                

ingest是插入数据,search是搜索数据,视情况而定,我说的这个坑是,当你telnet上sonic服务器端口后,如果大约10秒之内不执行登录sonic服务器的话,那么这个连接就会自动断开(一开始不知道,这个有点坑) 如下图的结果

                                            

搞了半天,查了一堆资料,还以为是linux系统的 服务器安全策略,自动把我的连接断开了,原来不是的!!!!。

是连接上后大约10秒之内不登陆不执行操作就会自动断开!!!!这个必须注意,大坑

填完这个坑后,先进行插入数据看看

      

插入数据成功

再进行查询

                                    

查询成功, 刚刚添加的the出来了,其实这个sonic有点类似于solr搜索引擎

               

通过库名+桶名 然后通过value拿到key!

这篇关于sonic轻量级的搜索引擎,极致的性能,只用来单纯的查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/410853

相关文章

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

MYSQL关联关系查询方式

《MYSQL关联关系查询方式》文章详细介绍了MySQL中如何使用内连接和左外连接进行表的关联查询,并展示了如何选择列和使用别名,文章还提供了一些关于查询优化的建议,并鼓励读者参考和支持脚本之家... 目录mysql关联关系查询关联关系查询这个查询做了以下几件事MySQL自关联查询总结MYSQL关联关系查询

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下

查询Oracle数据库表是否被锁的实现方式

《查询Oracle数据库表是否被锁的实现方式》本文介绍了查询Oracle数据库表是否被锁的方法,包括查询锁表的会话、人员信息,根据object_id查询表名,以及根据会话ID查询和停止本地进程,同时,... 目录查询oracle数据库表是否被锁1、查询锁表的会话、人员等信息2、根据 object_id查询被

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用