利用Elasticsearch搭建全球域名解析记录
前言
数据来源,由Rapid7收集并提供下载
https://scans.io/study/sonar.fdns
下载Elasticsearch 2.3
ElasticSearch是一个基于Lucene开发的搜索服务器,具有分布式多用户的能力,ElasticSearch是用Java开发的开源项目(Apache许可条款),基于Restful Web接口,能够达到实时搜索、稳定、可靠、快速、高性能、安装使用方便,同时它的横向扩展能力非常强,不需要重启服务。
Elasticsearch 高版本和低版本有细微的差别,大多数中文文档都是关于低版本的
https://www.elastic.co/downloads/past-releases/elasticsearch-2-3-0
安装head插件
elasticsearch-head是一个web前端工具,可以用来和ElasticSearch集群进行可视化交互
安装好jdk
bin/elasticsearch.bat
bin/plugin.bat install mobz/elasticsearch-head
https://github.com/mobz/elasticsearch-head
建立索引并创建映射
PUT /test
{
"settings": {
"index": {
"number_of_shards": "5",
"number_of_replicas": "0"
}
},
"mappings": {
"my_type": {
"properties": {
"title": {
"type": "string",
"index": "not_analyzed"
},
"name" : {
"type" : "string"
}
}
}
}
}
测试映射
GET /test/_analyze
{
"field": "title",
"text": "Blacdfdsfk-cats@qq.com"
}
添加单条数据
POST /test/my_type/
{
"title": "Blacdfdsfk-cats@qq.com",
"name": "Blacdfdsfk-cats@qq.com",
}
简单搜索
GET /test/my_type/_search?q=name:cats
https://www.elastic.co/guide/en/elasticsearch/reference/2.3/search-uri-request.html
利用请求体进行结构化搜索
GET /test/my_type/_search?q=name:cats
{
"query": {
"prefix": {
"name": "blacdfdsfk"
}
}
}
自定义分析器
包含字符过滤器,分词器,标记过滤器三部分
由于是dns数据,需要根据特定的情况自定义分析器,将词逆转,分割符设为”.”等
PUT /my_index
{
"settings": {
"analysis": {
"analyzer": {
"domain_name_analyzer": {
"filter":"lowercase",
"tokenizer": "domain_name_tokenizer",
"type": "custom"
}
},
"tokenizer": {
"domain_name_tokenizer": {
"type": "PathHierarchy",
"delimiter": ".",
"reverse": true
}
}
}
}
}
PUT /test_index/_mapping/site
{
"properties": {
"url": {
"type": "string",
"analyzer": "domain_name_analyzer"
}
}
}
导入数据测试
PUT /dnsrecords
{
"settings": {
"index": {
"number_of_shards": "5",
"number_of_replicas": "0"
},
"analysis": {
"analyzer": {
"domain_name_analyzer": {
"filter":"lowercase",
"tokenizer": "domain_name_tokenizer",
"type": "custom"
}
},
"tokenizer": {
"domain_name_tokenizer": {
"type": "PathHierarchy",
"delimiter": ".",
"reverse": true
}
}
}
},
"mappings": {
"forward": {
"properties": {
"domain": {
"type": "string",
"analyzer": "domain_name_analyzer"
},
"type" : {
"type" : "string",
"index": "not_analyzed"
},
"record" :{
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
查询
GET /dnsrecords/forward/_search HTTP/1.1
{
"query": {
"term": {
"domain": "qidian.com"
}
}
}
参考
https://github.com/Pynow/elasticsearch
http://wiki.jikexueyuan.com/project/elasticsearch-definitive-guide-cn/
利用Elasticsearch搭建全球域名解析记录的更多相关文章
- centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更 ...
- Kafka1 利用虚拟机搭建自己的Kafka集群
前言: 上周末自己学习了一下Kafka,参考网上的文章,学习过程中还是比较顺利的,遇到的一些问题最终也都解决了,现在将学习的过程记录与此,供以后自己查阅,如果能帮助到其他人,自然是更好的. ...
- Hadoop4 利用VMware搭建自己的hadoop集群
前言: 前段时间自己学习如何部署伪分布式模式的hadoop环境,之前由于工作比较忙,学习的进度停滞了一段时间,所以今天抽出时间把最近学习的成果和大家分享一下. 本文要介绍的是如 ...
- 利用Hexo搭建个人博客-环境搭建篇
我是一个爱写博客进行总结分享的人.然而,有着热爱写博客并且深知写博客好处的我,却没有好好的把这个习惯坚持下来.如今毕业已经一年多了吧,每一次与师弟师妹们聊天,我总会意味深长的建议他们,一定要定期梳理总 ...
- 利用hexo搭建博客
利用Hexo搭建博客 以前用Octopress搭过博客,折腾了好久才弄出来,当时看到那巨难看的默认主题,繁琐的操作,一点写东西的欲望都没了. 一次逛微博,看见了Hexo.尝试了一下,真的很好用哦. 下 ...
- 利用ThinkPHP搭建网站后台架构
记录一下ThinkPHP搭建网站后台.调整好样式等操作步骤 下载好ThinkPHP(3.2.3),解压后将核心文件夹ThinkPHP以及index.php等文件复制到网站根目录如下图 对index.p ...
- 利用 ELK 搭建 Docker 容器化应用日志中心
利用 ELK 搭建 Docker 容器化应用日志中心 概述 应用一旦容器化以后,需要考虑的就是如何采集位于 Docker 容器中的应用程序的打印日志供运维分析.典型的比如SpringBoot应用的日志 ...
- 架构师成长之路6.5 DNS服务器搭建(添加记录、负载均衡、DNS视图)
点击返回架构师成长之路 架构师成长之路6.5 DNS服务器搭建(添加记录.负载均衡.DNS视图) 部署主DNS : 点击 部署从DNS : 点击 1.添加A记录.CNAME记录.MX记录.PTR记录 ...
- 利用 nodeJS 搭建一个简单的Web服务器(转)
下面的代码演示如何利用 nodeJS 搭建一个简单的Web服务器: 1. 文件 WebServer.js: //-------------------------------------------- ...
随机推荐
- Day13 泛型
泛型 泛型定义 在一个类型(类,接口,方法)之后,定义一个类型参数. 原生类型:类型后面没有指定具体的类型参数. 好处 使用泛型的好处在于,它在编译的时候进行类型安全检查,并且在运行时所有的转换都是强 ...
- 【转】np.linspace()、np.logspace()、np.arange()
转自:https://blog.csdn.net/ui_shero/article/details/78881067 1.np.linspace() 生成(start,stop)区间指定元素个数num ...
- mysql 5.5.42 更改数据目录 centos 6.5环境
1.新建新数据目录,检查目录属主机权限,一般情况下属于mysql组,myql用户,因为我们安装mysql的时候会新建该账户和组. 2.目录权限检查完毕,停止数据库服务. 3.移动数据目录 ,我用的是m ...
- ZOJ 2476 Total Amount 字符串模拟
- Total Amount Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Submit ...
- CANOPEN开发问题
我是一名研二的学生,现在教研室要开发canopen,我已经看了几个月了,在网上找了canopen的开源代码CANfestival,现在想做移植,有几个问题想要请教:1,开发主站,只买beckhoff的 ...
- java crm 进销存 springmvc SSM 项目 系统 源码
系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM ...
- Activiti6.0 java spring5 SSM 工作流引擎 审批流程 项目框架
1.模型管理 :web在线流程设计器.预览流程xml.导出xml.部署流程 2.流程管理 :导入导出流程资源文件.查看流程图.根据流程实例反射出流程模型.激活挂起 3.运行中流程:查看 ...
- windows下搭建permeate漏洞测试系统实战
最近一直在搭建漏洞测试环境练习. 在此期间遇到很多问题,但是通过学习都一一解决.通过写此文来记录遇到的问题和解决方法. 首先,在github上看到了一个不错的permeate渗透测试系统.于是想搭建拿 ...
- ASP.NET中关于XML的AJAX的读取与删除
一个XML文件,名称就暂定为GroupStudents.xml吧,内容如下: <?xml version="1.0" encoding="utf-8"?& ...
- Linux入门第一天——环境搭建补充内容(xshell与虚拟机等操作)
一.xShell的安装和使用 前往官网下载一个个人版的 xShell :https://www.netsarang.com/products/xsh_overview.html 要更换免费版的putt ...