#elasticsearch #honeypot #data #responsible #search #service #job

nightly bin+lib searchspot

负责蜜罐的 ElasticSearch 数据的服务

21 个版本 (11 个重大变更)

使用旧的 Rust 2015

0.16.0 2018年1月12日
0.15.4 2017年10月5日
0.15.2 2017年9月29日
0.13.2 2017年7月14日
0.5.0 2016年7月29日

#3 in #honeypot

每月40次下载

BSD-2-Clause

88KB
2K SLoC

Searchspot

Build Status

此服务负责蜜罐的 ElasticSearch 数据,主要由 rs-esiron 驱动。Honeypot 上的公司使用它来搜索他们需要雇佣的开发者。

我们希望这对任何需要具有相对复杂的数据过滤系统(包括字符串、日期和布尔查询以及全文搜索)的搜索引擎的人来说都是有用的。

缺少的功能

  • 适当的缩进

依赖项

  • Rust Nightly
  • ElasticSearch 2.x (1.6+ 此处)

设置

使用 rustup官方方式 或您的包管理器(例如:brew install rust)安装 Rust 的最新版本。

然后克隆此存储库到您的计算机,并使用以下命令运行可执行文件:

$ cargo run examples/default.toml

您可以通过附加 --release 生成优化的可执行文件,但编译时间会更长。

您可以使用 $ cargo test 运行测试,并使用 $ cargo doc 生成文档。

请确保您有一个运行的 ElasticSearch 实例。

示例

您可以使用 cargo 创建自己的 searchspot,创建一个新的可执行文件,其 main.rs 将看起来像我们的一样,但您需要用您自己根据需要制作的新资源替换 searchspot::resources::user::Talent

基本上,资源是任何实现 searchspot::resource::Resource 特性的结构。

身份验证

当启用身份验证时,服务器只接受包含有效TOTP令牌的Authentication头部的请求,该令牌由searchspot的auth.readauth.write中定义的秘密生成,具体取决于请求类型(GET、POST/DELETE等),例如:{ "Authorize" => "token 492039" }

Heroku

要在Heroku上部署此应用程序,只需运行

$ heroku create my-searchspot --buildpack https://github.com/Hoverbear/heroku-buildpack-rust
$ heroku ps:scale web=1`

还需要设置以下环境变量(示例在括号中)

  • ES_URL (https://user:[email protected]:80)
  • ES_INDEX (my_index)
  • HTTP_HOST (0.0.0.0)
  • AUTH_ENABLED (true)
  • AUTH_READ (icsbqwdg7ukqluav)
  • AUTH_WRITE (7x2ockhyff4fmm5n)

您可以通过向my-searchspot添加ElasticSearch插件(☞゚∀゚)☞)并点击它来获取ES_URL的数据。

AUTH_是可选的——如果省略,则该功能将被关闭。

版本控制

不幸的是,我们并没有从一开始就使用语义版本控制。当进行相关更改或需要重新索引时,我们将提升次版本号,否则将发布补丁。目前没有计划发布主要版本。

许可

版权所有 © 2016 Honeypot GmbH。这是自由软件,可以根据LICENSE文件中指定的条款重新分发。

关于Honeypot

Honeypot

Honeypot是一个面向开发者的职位平台。

Honeypot的名称和标志是Honeypot GmbH的商标。

依赖项

~13MB
~269K SLoC