ZincSearch轻量级全文搜索引擎入门到

Zinc是一个用于对文档进行全文搜索的搜索引擎。它是开源的,内置在 Go 中。Zinc不是从头开始构建索引引擎,而是构建在 bluge 之上,这是一个出色的索引库。ZincSearch特点:

  • 无模式索引
  • 资源利用率低
  • 易于使用的轻量级 GUI
  • 内置身份验证
  • 用于编程使用的简单 API
  • 与希望从 Elasticsearch 迁移到 Zinc 的应用程序兼容的 Elasticsearch API(摄取 - 单记录和批量 API)。

2022年5月31日,已经实现基本搜索和API了,集群高可用分布式等等还在开发中。
github:https://github.com/zinclabs/zinc
官网:https://zincsearch.com/

安装

下载window版的易于上手: https://github.com/zinclabs/zinc/releases

set ZINC_FIRST_ADMIN_USER=admin
set ZINC_FIRST_ADMIN_PASSWORD=admin
mkdir data
zinc.exe

登录

然后根据上面设置的密码登录 :http://localhost:4080/

创建一个索引


默认设置

映射内容,,,类似表中的列

创建索引也可以参照按官方的来
e.g. PUT http://localhost:4080/api/index
Request Body:

{
"name": "web",
"storage_type": "disk",
"settings": {},
"mappings": {
"properties": {
"@timestamp": {
"type": "date",
"index": true,
"store": false,
"sortable": true,
"aggregatable": true,
"highlightable": false,
"term_positions": false
},
"_id": {
"type": "keyword",
"index": true,
"store": false,
"sortable": true,
"aggregatable": true,
"highlightable": false,
"term_positions": false
},
"content": {
"type": "text",
"index": true,
"store": true,
"sortable": false,
"aggregatable": true,
"highlightable": true,
"term_positions": true
},
"title": {
"type": "text",
"index": true,
"store": true,
"sortable": false,
"aggregatable": false,
"highlightable": true,
"term_positions": true
}
}
}
}

Default storage_type is disk

添加数据和搜索

调用API时必须添加请求头
Authorization: Basic base64(“userId:password”)

YWRtaW46YWRtaW4=

Authorization: Basic YWRtaW46YWRtaW4=

添加数据


一定要发送json格式数据!

{
"title": "俄军攻入北顿涅茨克市中心",
"create_time": "2022-05-31 12:29:55",
"content": "北顿涅茨克之战打了好几天,乌军承认现在处于劣势。据美国有线电视新闻网报道,乌方的卢甘斯克地区负责人30日表示,俄罗斯军队正在向北顿涅茨克市中心推进。此前俄军已经巩固了对该市东北部和东南部郊区的控制,并试图包围北顿涅茨克和利西昌斯克。“目前战斗非常激烈,”乌方的这名负责人表示,当地情况非常困难,除了通过星链进行权限有限的连接外,该市已经没有互联网连接。"
}

搜索

{
"search_type": "querystring",
"query": {
"term": "乌"
},
"from": 0,
"max_results": 20,
"_source": ["content"] // 数组为 [] 时,显示所有的块(列)
}

ZincSearch轻量级全文搜索引擎入门到的更多相关文章

  1. 全文搜索引擎Elasticsearch入门实践

    全文搜索引擎Elasticsearch入门实践 感谢阮一峰的网络日志全文搜索引擎 Elasticsearch 入门教程 安装 首先需要依赖Java环境.Elasticsearch官网https://w ...

  2. 全文搜索引擎 Elasticsearch 入门

    1. 百科 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作 ...

  3. 全文搜索引擎 Elasticsearch 入门教程

    全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选. 它可以快速地储存.搜索和分析海量数据.维基百科.Stack Overflow.Gi ...

  4. 全文搜索引擎 Elasticsearch 入门:集群搭建

    本文主要介绍什么是 ElasticSearch 以及为什么需要它,如何在本机安装部署 ElasticSearch 实例,同时会演示安装 ElasticSearch 插件,以及如何在本地部署多实例集群, ...

  5. sphinx 全文搜索引擎安装与配置

    sphinx 全文搜索引擎 sphinx的安装与配置 ------------------------------------------------------------------------- ...

  6. 指尖上的电商---(2)Solr全文搜索引擎的准备工作

    Solr是一个基于Lucene的全文搜索引擎.提供了更丰富的搜索语言.更灵活的配置.更高的查询效率. 一句话.与Lucene相比.有过之而无不及.这一节里, 主要谈论两个知识点:Jdk的安装和Tomc ...

  7. 全文搜索引擎 ElasticSearch 还是 Solr?

    最近项目组安排了一个任务,项目中用到了全文搜索,基于全文搜索 Solr,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量同步,而且是其他团队在维护,依赖性太强,导致 Solr 服务 ...

  8. Spring Boot 全文搜索引擎 ElasticSearch

    参考 全文搜索引擎ElasticSearch 还是Solr? - JaJian - 博客园

  9. 【Elasticsearch全文搜索引擎实战】之Head插件实践

    简介 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Ap ...

  10. 分布式全文搜索引擎ElasticSearch

    一 什么是 ElasticSearch Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elas ...

随机推荐

  1. 【Redis】SpringBoot集成Redis事务-亲测

    大家好,我是mep.今天一起来探讨一下Redis缓存的问题,SpringBoot如何集成Redis网上文章很多,基本都是介绍如何配置redisTemplate,如何调用,本文就不过多介绍了.这次我们研 ...

  2. redis 源码分析:Jedis 哨兵模式连接原理

    1. 可以从单元测试开始入手 查看类JedisSentinelPool private static final String MASTER_NAME = "mymaster"; ...

  3. DBeaver Ultimate 22.1.0 连接数据库(MySQL+Mongo+Clickhouse)

    前言 继续书接上文 Docker Compose V2 安装常用数据库MySQL+Mongo,部署安装好之后我本来是找了一个web端的在线连接数据库的工具,但是使用过程中并不丝滑,最终还是选择了使用 ...

  4. Installing Gradle

    Chapter 4. Installing Gradle 4.1. Prerequisites Gradle requires a Java JDK or JRE to be installed, v ...

  5. 造轮子之ORM集成

    Dotnet的ORM千千万,还是喜欢用EF CORE 前面一些基础完成的差不多了,接下来可以集成数据库了,官方出品的ORM还是比较香.所以接下来就是来集成EF CORE. 安装包 首先我们需要安装一下 ...

  6. FFMPEG+SDL简单视频播放器——视频快进

    之前写过一篇关于视频播放器的文章.播放器只简单实现了视频播放的功能,在此功能的基础上,给它加上一个视频快进的功能. 实现 添加参数 // video play control bool do_seek ...

  7. 14.9 Socket 高效文件传输

    网络上的文件传输功能也是很有必要实现一下的,网络传输文件的过程通常分为客户端和服务器端两部分.客户端可以选择上传或下载文件,将文件分块并逐块发送到服务器,或者从服务器分块地接收文件.服务器端接收来自客 ...

  8. JDK21的虚拟线程是什么?和平台线程什么关系?

    虚拟线程(Virtual Thread)是 JDK 而不是 OS 实现的轻量级线程(Lightweight Process,LWP),由 JVM 调度.许多虚拟线程共享同一个操作系统线程,虚拟线程的数 ...

  9. HTTP协议中四种交互方法学习

    一.Get Get用于获取信息,注意,他只是获取.查询数据,也就是说它不会修改服务器上的数据.而根据HTTP规范, 获取信息的过程是安全和幂等的.GET请求的数据会附在URL之后,以"?&q ...

  10. Vue之仿百度搜索框

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...