暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Easysearch,地表最强,没有之一!

原创 严少安 2024-08-13
362

logo.png

INFINI Easysearch

INFINI Easysearch 是一款由极限科技研发的分布式近实时搜索型数据库。极限科技,全称极限数据(北京)科技有限公司,是一家专注于实时搜索与数据分析的软件公司。旗下品牌极限实验室(INFINI Labs)致力于打造极致易用的数据探索与分析体验。目前,极限科技已获得24项软件著作权,4项专利,以及13项认证。

20240813_111012.png

INFINI Easysearch 是一个分布式的近实时搜索与分析引擎,核心引擎基于开源的 Apache Lucene。 Easysearch 衍生自基于开源协议 Apache 2.0 的 Elasticsearch 7.10 版本。 Easysearch 的目标是提供一个轻量级的 Elasticsearch 可替代版本,并继续完善和支持更多的企业级功能。 与 Elasticsearch 相比,Easysearch 更关注在搜索业务场景的优化和继续保持其产品的简洁与易用性。

  • 2023.09.13, INFINI Easysearch 在墨天轮中国搜索型数据库排名中荣登榜首
  • 2023.07.04, INFINI Easysearch 产品荣获中国信通院颁布《搜索型数据库基础能力专项评测证书》
  • 2023.05.15, INFINI Easysearch 正式发布

相关产品

INFINI Console 一款非常轻量级、功能强大的多集群、跨版本的 Elasticsearch 统一管控平台。通过对 Elasticsearch 跨版本多集群的集中纳管,我们可以快速方便的对企业内部的所有 Elasticsearch 集群进行统一管理。

极限网关 (INFINI Gateway) 是一个面向 Elasticsearch 的高性能应用网关,一般将网关部署在 Elasticsearch 集群前面, 将以往直接发送给 Elasticsearch 的请求都发送给网关,再由网关转发给请求到后端的 Elasticsearch 集群。网关包含丰富的特性,比如索引级别的限速限流、常见查询的缓存加速、查询请求的审计、查询结果的动态修改等等。

Docker 环境下使用 Easysearch

拉取并运行 Easysearch 容器。这里指定初始密码为 xxx

podman pull infinilabs/easysearch:1.8.3-265
echo EASYSEARCH_INITIAL_ADMIN_PASSWORD=xxx > .env
podman run --name easysearch --env-file ./.env -p 9200:9200 0a2fa7659767

验证运行状态

curl -ku admin:xxx https://localhost:9200
{
  "name" : "node-1",
  "cluster_name" : "infinilabs",
  "cluster_uuid" : "eax6HjOdSh6vVQROBxfX0w",
  "version" : {
    "distribution" : "easysearch",
    "number" : "1.8.3",
    "distributor" : "INFINI Labs",
    "build_hash" : "6127bfe973a3d41f2f237a725697a1f00aa4d015",
    "build_date" : "2024-08-09T06:53:51.621463Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.2",
    "minimum_wire_lucene_version" : "7.7.0",
    "minimum_lucene_index_compatibility_version" : "7.7.0"
  },
  "tagline" : "You Know, For Easy Search!"
}

查看用户自进行的自定义设置

curl -ku admin:xxx https://localhost:9200/_cluster/settings
{
  "persistent": {
    "index_state_management": {
      "template_migration": {
        "control": "-1"
      }
    }
  },
  "transient": {}
}

Easysearch 用户授权

下面演示如何设定 基于角色的访问控制 (RBAC)

  1. 创建角色 myrole

角色:定义操作的权限或范围:集群、索引、文档或字段。

curl -X PUT -H "Content-Type: application/json" \
-ku admin:xxx "https://localhost:9200/_security/role/myrole" -d'
{
  "cluster": ["cluster_composite_ops","indices_monitor"],
  "indices": [
    {
      "names":[
        "movies*"
      ],
      "query":"",
      "field_security":[
        
      ],
      "field_mask":[
        
      ],
      "privileges":[
        "read"
      ]
    }
  ]
}'
{"status":"CREATED","message":"'myrole' created."}
  1. 查看角色
curl -sku admin:xxx https://localhost:9200/_security/role/myrole | jq
{
  "myrole": {
    "reserved": false,
    "hidden": false,
    "cluster": [
      "cluster_composite_ops",
      "indices_monitor"
    ],
    "indices": [
      {
        "names": [
          "movies*"
        ],
        "query": "",
        "field_security": [],
        "field_mask": [],
        "privileges": [
          "read"
        ]
      }
    ],
    "static": false
  }
}
  1. 创建用户 myuser
curl -X PUT -H "Content-Type: application/json" \
-ku admin:xxx "https://localhost:9200/_security/user/myuser" -d'
{
  "password": "myuser",
  "roles": ["myrole"],
  "attributes": {
    "attribute1": "value1",
    "attribute2": "value2"
  }
}'
{"status":"CREATED","message":"'myuser' created."}
  1. 查看用户
curl -sku admin:xxx https://localhost:9200/_security/user/myuser | jq
{
  "myuser": {
    "hash": "",
    "reserved": false,
    "hidden": false,
    "external_roles": [],
    "attributes": {
      "attribute1": "value1",
      "attribute2": "value2"
    },
    "roles": [
      "myrole"
    ],
    "static": false
  }
}

小结

关于 INFINI Easysearch 的内容先简单介绍到这里。更多内容可参考官方文档。

http://infinilabs.cn/docs/latest/easysearch/overview/

最后修改时间:2024-08-13 19:50:54
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论