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"] // 数组为 [] 时,显示所有的块(列)
}
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐