这一次ElasticSearch可能感受到了来自东方的压力 GoFound

VSole2022-08-03 16:20:43

什么是 GoFound?

GoFound 一个golang实现的全文检索引擎,支持持久化和单机亿级数据毫秒级查找,接口可以通过http调用。

为什么要用GoFound?

一个小巧精悍的全文检索引擎,支持持久化和单机亿级数据毫秒级查找。

ElasticSearch缺点就是配置繁琐、基于JVM对内存消耗比较大。

gofound是原生编译,会减少系统资源的消耗。而且对外无任何依赖。

特性与优势

  • 二分法查找
  • 快速排序法
  • 倒排索引
  • 正排索引
  • 文件分片
  • golang-jieba分词
  • leveldb

编译与启动

git clone https://github.com/newpanjing/gofound.git
go get && go build
#作者是用的1.18版本,已经用到了1.17的新特性embed 和 fs,所以GO至少版本要大于1.17
./gofound --addr=:8080 --data=./data

1.启动服务端后就可以访问到后台

http://127.0.0.1:8080/admin
#笔者发现,明显后台没有做完,但是接口基本可用,尽量别用后台就行。

2.使用接口进行新增和查询操作

#新增数据接口
curl -H "Content-Type:application/json" -X POST --data '{"id":1,"text":"深圳北站","document":{"title":"阿森松岛所445","number":223}}' 127.0.0.1:8080/api/index?database=testdb1
#响应结果
{
  "state": true,
  "message": "success"
}
#我定义了一个库名:testdb1
#查询一下
POST :127.0.0.1:8080/api/query?database=testdb1
{
  "query": "北站",
  "page": 1,
  "limit": 10,
  "order": "desc",
  "highlight": {}
}
#响应结果
{
    "state": true,
    "message": "success",
    "data": {
        "total": 3,
        "pageCount": 1,
        "page": 1,
        "limit": 10,
        "documents": [
            {
                "id": 1,
                "text": "深圳北站",
                "document": {
                    "number": 223,
                    "title": "阿森松岛所445"
                },
                "originalText": "深圳北站",
                "score": 1,
                "keys": [
                    "深圳",
                    "北站"
                ]
            },
            {
                "text": "深圳北站",
                "document": {
                    "number": 223,
                    "title": "阿森松岛所445"
                },
                "originalText": "深圳北站",
                "score": 1,
                "keys": [
                    "深圳",
                    "北站"
                ]
            }
        ],
        "words": [
            "北站"
        ]
    }
}

其他操作,包括完整的CRUD还有分词接口都在下面的文档中可以找到,这里就不多作赘述,简单的带大家用用即可。还有分词操作、CRUD所有操作,都可以看文档来对着写即可,记得尽量不要用他的可视化后台,会出现各种未知问题。

elasticsearch
本作品采用《CC 协议》,转载必须注明作者和本文链接
漏洞公告 目前厂商已发布升级补丁以修复漏洞,补丁获取链接: https://discuss.elastic.co/t/elastic-stack-6-1-3-and-5-6-7-security-update/117683 参考网址 来源:discuss.elastic.co 链接:https://discuss.elastic.co/t/elastic-stack-6-1-3-and-5-6
GoFound 一个golang实现的全文检索引擎,支持持久化和单机亿级数据毫秒级查找,接口可以通过http调用。ElasticSearch缺点就是配置繁琐、基于JVM对内存消耗比较大。gofound是原生编译,会减少系统资源的消耗。而且对外无任何依赖。
写在前面:为什么要用ElasticSearch? 我们的应用经常需要添加检索功能,开源的Elastic Search是目前全文检索引擎的首选。它可以快速的存储、搜索和分析海量数据。ElasticSearch是一个分布式搜索框架,提供RestfulAPI,底层基于Lucene,采用多shard(分片)的方式保证数据安全,并且提供自动resharding的功能。
Bughound是一款开源的静态代码分析工具,可以帮助广大研究人员分析自己的代码,并将结果发送至Elasticsearch和Kibana,以更好地审查代码中潜在的安全漏洞。
最近在测试 Elasticsearch 的未授权访问的问题,其本身是一个文档型数据库,如果存在未授权访问的问题,那么就一定存在数据泄漏的风险,如果无任何有效数据,那么也可能被用来存储违法违规的内容,同样可以给企业带来麻烦。大概意思是说:es 的所有索引都被删除了,但是黑客团伙已经备份了所有数据,如果你想恢复这些数据,需要支付 0.021 比特币。
访问http://ip:9200 检查elasticsearch是否正常启动NO.2 安装kibanaapt-get install kibanaserver.host: "ip"service elasticsearch start
一家主要国际 IT 招聘和软件解决方案提供商的 Elasticsearch 服务器目前正在暴露超过 50 万印度求职者的个人数据。这一切都始于 Anurag 在 Shodan 上扫描配置错误的数据库, 并注意到一台服务器将超过 6GB 的数据公开给公众访问。该服务器属于一家最初位于美国公司,其办事处遍布全球,包括印度。
Zinc,一款Go语言开发的搜索引擎,可用于替代 elasticsearch,在 GitHub 开源不到一个月,已收获 4.3k Star。一旦有居心叵测的人攻破网络,会造成无法估量的损失。《Web安全攻防从入门到精通》结合红日安全团队的多年经验,深入讲解Web安全的相关知识。24小时内未联系号主视为自动放弃!
9月26日消息,印度一家医疗软件提供商的Elasticsearch服务器被发现暴露在互联网上,其中存储了过去几年来往返于印度各地的众多印度及外国人的COVID抗原检测结果。
巴西电子商务公司在错误配置Elasticsearch服务器后无意中暴露了近18亿条记录。
VSole
网络安全专家