前言

数据来源,由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搭建全球域名解析记录的更多相关文章

  1. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  2. Kafka1 利用虚拟机搭建自己的Kafka集群

    前言:       上周末自己学习了一下Kafka,参考网上的文章,学习过程中还是比较顺利的,遇到的一些问题最终也都解决了,现在将学习的过程记录与此,供以后自己查阅,如果能帮助到其他人,自然是更好的. ...

  3. Hadoop4 利用VMware搭建自己的hadoop集群

    前言:       前段时间自己学习如何部署伪分布式模式的hadoop环境,之前由于工作比较忙,学习的进度停滞了一段时间,所以今天抽出时间把最近学习的成果和大家分享一下.       本文要介绍的是如 ...

  4. 利用Hexo搭建个人博客-环境搭建篇

    我是一个爱写博客进行总结分享的人.然而,有着热爱写博客并且深知写博客好处的我,却没有好好的把这个习惯坚持下来.如今毕业已经一年多了吧,每一次与师弟师妹们聊天,我总会意味深长的建议他们,一定要定期梳理总 ...

  5. 利用hexo搭建博客

    利用Hexo搭建博客 以前用Octopress搭过博客,折腾了好久才弄出来,当时看到那巨难看的默认主题,繁琐的操作,一点写东西的欲望都没了. 一次逛微博,看见了Hexo.尝试了一下,真的很好用哦. 下 ...

  6. 利用ThinkPHP搭建网站后台架构

    记录一下ThinkPHP搭建网站后台.调整好样式等操作步骤 下载好ThinkPHP(3.2.3),解压后将核心文件夹ThinkPHP以及index.php等文件复制到网站根目录如下图 对index.p ...

  7. 利用 ELK 搭建 Docker 容器化应用日志中心

    利用 ELK 搭建 Docker 容器化应用日志中心 概述 应用一旦容器化以后,需要考虑的就是如何采集位于 Docker 容器中的应用程序的打印日志供运维分析.典型的比如SpringBoot应用的日志 ...

  8. 架构师成长之路6.5 DNS服务器搭建(添加记录、负载均衡、DNS视图)

    点击返回架构师成长之路 架构师成长之路6.5 DNS服务器搭建(添加记录.负载均衡.DNS视图)  部署主DNS : 点击 部署从DNS : 点击 1.添加A记录.CNAME记录.MX记录.PTR记录 ...

  9. 利用 nodeJS 搭建一个简单的Web服务器(转)

    下面的代码演示如何利用 nodeJS 搭建一个简单的Web服务器: 1. 文件 WebServer.js: //-------------------------------------------- ...

随机推荐

  1. Day13 泛型

    泛型 泛型定义 在一个类型(类,接口,方法)之后,定义一个类型参数. 原生类型:类型后面没有指定具体的类型参数. 好处 使用泛型的好处在于,它在编译的时候进行类型安全检查,并且在运行时所有的转换都是强 ...

  2. 【转】np.linspace()、np.logspace()、np.arange()

    转自:https://blog.csdn.net/ui_shero/article/details/78881067 1.np.linspace() 生成(start,stop)区间指定元素个数num ...

  3. mysql 5.5.42 更改数据目录 centos 6.5环境

    1.新建新数据目录,检查目录属主机权限,一般情况下属于mysql组,myql用户,因为我们安装mysql的时候会新建该账户和组. 2.目录权限检查完毕,停止数据库服务. 3.移动数据目录 ,我用的是m ...

  4. ZOJ 2476 Total Amount 字符串模拟

    - Total Amount Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit ...

  5. CANOPEN开发问题

    我是一名研二的学生,现在教研室要开发canopen,我已经看了几个月了,在网上找了canopen的开源代码CANfestival,现在想做移植,有几个问题想要请教:1,开发主站,只买beckhoff的 ...

  6. java crm 进销存 springmvc SSM 项目 系统 源码

    系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3  SSM ...

  7. Activiti6.0 java spring5 SSM 工作流引擎 审批流程 项目框架

            1.模型管理 :web在线流程设计器.预览流程xml.导出xml.部署流程 2.流程管理 :导入导出流程资源文件.查看流程图.根据流程实例反射出流程模型.激活挂起 3.运行中流程:查看 ...

  8. windows下搭建permeate漏洞测试系统实战

    最近一直在搭建漏洞测试环境练习. 在此期间遇到很多问题,但是通过学习都一一解决.通过写此文来记录遇到的问题和解决方法. 首先,在github上看到了一个不错的permeate渗透测试系统.于是想搭建拿 ...

  9. ASP.NET中关于XML的AJAX的读取与删除

    一个XML文件,名称就暂定为GroupStudents.xml吧,内容如下: <?xml version="1.0" encoding="utf-8"?& ...

  10. Linux入门第一天——环境搭建补充内容(xshell与虚拟机等操作)

    一.xShell的安装和使用 前往官网下载一个个人版的 xShell :https://www.netsarang.com/products/xsh_overview.html 要更换免费版的putt ...