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次下载
88KB
2K SLoC
Searchspot
此服务负责蜜罐的 ElasticSearch 数据,主要由 rs-es 和 iron 驱动。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.read
或auth.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 GmbH的商标。
依赖项
~13MB
~269K SLoC