嘿~ 今天天气不错嘛

Lucene5.5入门第一篇——hello World

Lucene板块好冷清,这里将我之前的入门的博文搬过来,填不下空白,欢迎拍砖
认识Lucene

下面是百科对Lucene的描述:

Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java开发环境里Lucene是一个成熟的免费开源工具。就其本身而言,Lucene是当前以及最近几年最受欢迎的免费Java信息检索程序库。人们经常提到信息检索程序库,虽然与搜索引擎有关,但不应该将信息检索程序库与搜索引擎相混淆。

Lucene突出的优点

Lucene作为一个全文检索引擎,其具有如下突出的优点:
(1)索引文件格式独立于应用平台。Lucene定义了一套以8位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。
(2)在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度。然后通过与原有索引的合并,达到优化的目的。
(3)优秀的面向对象的系统架构,使得对于Lucene扩展的学习难度降低,方便扩充新功能。
(4)设计了独立于语言和文件格式的文本分析接口,索引器通过接受Token流完成索引文件的创立,用户扩展新的语言和文件格式,只需要实现文本分析的接口。
(5)已经默认实现了一套强大的查询引擎,用户无需自己编写代码即可使系统可获得强大的查询能力,Lucene的查询实现中默认实现了布尔操作、模糊查询(Fuzzy Search[11])、分组查询等等。
面对已经存在的商业全文检索引擎,Lucene也具有相当的优势。
首先,它的开发源代码发行方式(遵守Apache Software License[12]),在此基础上程序员不仅仅可以充分的利用Lucene所提供的强大功能,而且可以深入细致的学习到全文检索引擎制作技术和面向对象编程的实践,进而在此基础上根据应用的实际情况编写出更好的更适合当前应用的全文检索引擎。在这一点上,商业软件的灵活性远远不及Lucene。
其次,Lucene秉承了开放源代码一贯的架构优良的优势,设计了一个合理而极具扩充能力的面向对象架构,程序员可以在Lucene的基础上扩充各种功能,比如扩充中文处理能力,从文本扩充到HTML、PDF[13]等等文本格式的处理,编写这些扩展的功能不仅仅不复杂,而且由于Lucene恰当合理的对系统设备做了程序上的抽象,扩展的功能也能轻易的达到跨平台的能力。
最后,转移到apache软件基金会后,借助于apache软件基金会的网络平台,程序员可以方便的和开发者、其它程序员交流,促成资源的共享,甚至直接获得已经编写完备的扩充功能。最后,虽然Lucene使用Java语言写成,但是开放源代码社区的程序员正在不懈的将之使用各种传统语言实现(例如.net framework[14]),在遵守Lucene索引文件格式的基础上,使得Lucene能够运行在各种各样的平台上,系统管理员可以根据当前的平台适合的语言来合理的选择。
入门前的准备

了解一些关键字的概念:
Document
Document 是用来描述文档的,这里的文档可以指一个 HTML 页面,一封电子邮件,或者是一个文本文件。一个 Document 对象由多个 Field 对象组成的。可以把一个 Document 对象想象成数据库中的一个记录,而每个 Field 对象就是记录的一个字段。
Field
Field 对象是用来描述一个文档的某个属性的,比如一封电子邮件的标题和内容可以用两个 Field 对象分别描述。
Analyzer
在一个文档被索引之前,首先需要对文档内容进行分词处理,这部分工作就是由 Analyzer 来做的。Analyzer 类是一个抽象类,它有多个实现。针对不同的语言和应用需要选择适合的 Analyzer。Analyzer 把分词后的内容交给 IndexWriter 来建立索引。
IndexWriter
IndexWriter 是 Lucene 用来创建索引的一个核心的类,他的作用是把一个个的 Document 对象加到索引中来。
Directory
这个类代表了 Lucene 的索引的存储的位置,这是一个抽象类,它目前有两个实现,第一个是 FSDirectory,它表示一个存储在文件系统中的索引的位置。第二个是 RAMDirectory,它表示一个存储在内存当中的索引的位置。
Query
这是一个抽象类,他有多个实现,比如 TermQuery, BooleanQuery, PrefixQuery. 这个类的目的是把用户输入的查询字符串封装成 Lucene 能够识别的 Query。
IndexSearcher
IndexSearcher 是用来在建立好的索引上进行搜索的。它只能以只读的方式打开一个索引,所以可以有多个 IndexSearcher 的实例在一个索引上进行操作。
Hits
Hits 是用来保存搜索结果的。

我的浅显理解
使用Lucene分为几个步骤,都是围绕索引展开的:
1.写索引 IndexWriter
2.读索引 IndexReader
3.查索引 IndexSearcher
4.封装查询条件,想到于写数据库的sql QueryParser
5.查询已查到的索引得到结果集 TopDocs ,可以得到Document的一个集合
正式入门,直接上代码                               

写索引:

package com.kl.luceneDemo;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.store.RAMDirectory;
import java.io.File;
import java.io.FileReader;
import java.nio.file.Paths;
/**
* @author kl by 2016/3/14
* @boke www.kailing.pub
*/
public class Indexer {
public IndexWriter writer;
/**
* 实例化写索引
*/
public Indexer(String indexDir)throws Exception{
Analyzer analyzer=new StandardAnalyzer();//分词器
IndexWriterConfig writerConfig=new IndexWriterConfig(analyzer);//写索引配置
//Directory ramDirectory= new RAMDirectory();//索引写的内存
Directory directory= FSDirectory.open(Paths.get(indexDir));//索引存储磁盘位置
writer=new IndexWriter(directory,writerConfig);//实例化一个写索引
}
/**
* 关闭写索引
* @throws Exception
*/
public void close()throws Exception{
writer.close();
}
/**
* 添加指定目录的所有文件的索引
* @param dataDir
* @return
* @throws Exception
*/
public int index(String dataDir)throws Exception{
File files=new File(dataDir).listFiles();//得到指定目录的文档数组
for(File file:files){
indexFile(file);
}
return writer.numDocs();
}
public void indexFile(File file)throws Exception{
System.out.println("索引文件:"+file.getCanonicalPath());//打印索引到的文件路径信息
Document document=getDocument(file);//得到一个文档信息,相对一个表记录
writer.addDocument(document);//写入到索引,相当于插入一个表记录
}

/**
* 返回一个文档记录
* @param file
* @return
* @throws Exception
*/
public Document getDocument(File file)throws Exception{
Document document=new Document();//实例化一个文档
document.add(new TextField("context",new FileReader(file)));//添加一个文档信息,相当于一个数据库表字段
document.add(new TextField("fileName",file.getName(), Field.Store.YES));//添加文档的名字属性
document.add(new TextField("filePath",file.getCanonicalPath(),Field.Store.YES));//添加文档的路径属性
return document;
}
public static void main(String ages){
String indexDir="E:\\LuceneIndex";
String dataDir="E:\\LuceneTestData";
Indexer indexer=null;
int indexSum=0;
try {
indexer=new Indexer(indexDir);
indexSum= indexer.index(dataDir);
System.out.printf("完成"+indexSum+"个文件的索引");

}catch (Exception e){
e.printStackTrace();
}finally {
try {
indexer.close();
}catch (Exception e){
e.printStackTrace();
}

}

}

}
读查索引

package com.kl.luceneDemo;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import java.nio.file.Paths;
/**
* @author kl by 2016/3/14
* @boke www.kailing.pub
*/
public class Searcher {
public static void search(String indexDir,String q)throws Exception{
Directory dir= FSDirectory.open(Paths.get(indexDir));//索引地址
IndexReader reader= DirectoryReader.open(dir);//读索引
IndexSearcher is=new IndexSearcher(reader);
Analyzer analyzer=new StandardAnalyzer(); // 标准分词器
QueryParser parser=new QueryParser("context", analyzer);//指定查询Document的某个属性
Query query=parser.parse(q);//指定查询索引内容,对应某个分词
TopDocs hits=is.search(query, 10);//执行搜索
System.out.println("匹配 "+q+"查询到"+hits.totalHits+"个记录");
for(ScoreDoc scoreDoc:hits.scoreDocs){
Document doc=is.doc(scoreDoc.doc);
System.out.println(doc.get("fileName"));//打印Document的fileName属性
}
reader.close();
}
public static void main(String args) {
String indexDir="E:\\LuceneIndex";
String q="Muir";
try {
search(indexDir,q);
} catch (Exception e) {
e.printStackTrace();
}
}
}
以下图片是我的文件目录和Lucene生成的索引文件
原文地址:http://www.kailing.pub/article/index/arcid/71.html
社区的富文本编辑器太low了,能不能换啊
继续阅读 »
Lucene板块好冷清,这里将我之前的入门的博文搬过来,填不下空白,欢迎拍砖
认识Lucene

下面是百科对Lucene的描述:

Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java开发环境里Lucene是一个成熟的免费开源工具。就其本身而言,Lucene是当前以及最近几年最受欢迎的免费Java信息检索程序库。人们经常提到信息检索程序库,虽然与搜索引擎有关,但不应该将信息检索程序库与搜索引擎相混淆。

Lucene突出的优点

Lucene作为一个全文检索引擎,其具有如下突出的优点:
(1)索引文件格式独立于应用平台。Lucene定义了一套以8位字节为基础的索引文件格式,使得兼容系统或者不同平台的应用能够共享建立的索引文件。
(2)在传统全文检索引擎的倒排索引的基础上,实现了分块索引,能够针对新的文件建立小文件索引,提升索引速度。然后通过与原有索引的合并,达到优化的目的。
(3)优秀的面向对象的系统架构,使得对于Lucene扩展的学习难度降低,方便扩充新功能。
(4)设计了独立于语言和文件格式的文本分析接口,索引器通过接受Token流完成索引文件的创立,用户扩展新的语言和文件格式,只需要实现文本分析的接口。
(5)已经默认实现了一套强大的查询引擎,用户无需自己编写代码即可使系统可获得强大的查询能力,Lucene的查询实现中默认实现了布尔操作、模糊查询(Fuzzy Search[11])、分组查询等等。
面对已经存在的商业全文检索引擎,Lucene也具有相当的优势。
首先,它的开发源代码发行方式(遵守Apache Software License[12]),在此基础上程序员不仅仅可以充分的利用Lucene所提供的强大功能,而且可以深入细致的学习到全文检索引擎制作技术和面向对象编程的实践,进而在此基础上根据应用的实际情况编写出更好的更适合当前应用的全文检索引擎。在这一点上,商业软件的灵活性远远不及Lucene。
其次,Lucene秉承了开放源代码一贯的架构优良的优势,设计了一个合理而极具扩充能力的面向对象架构,程序员可以在Lucene的基础上扩充各种功能,比如扩充中文处理能力,从文本扩充到HTML、PDF[13]等等文本格式的处理,编写这些扩展的功能不仅仅不复杂,而且由于Lucene恰当合理的对系统设备做了程序上的抽象,扩展的功能也能轻易的达到跨平台的能力。
最后,转移到apache软件基金会后,借助于apache软件基金会的网络平台,程序员可以方便的和开发者、其它程序员交流,促成资源的共享,甚至直接获得已经编写完备的扩充功能。最后,虽然Lucene使用Java语言写成,但是开放源代码社区的程序员正在不懈的将之使用各种传统语言实现(例如.net framework[14]),在遵守Lucene索引文件格式的基础上,使得Lucene能够运行在各种各样的平台上,系统管理员可以根据当前的平台适合的语言来合理的选择。
入门前的准备

了解一些关键字的概念:
Document
Document 是用来描述文档的,这里的文档可以指一个 HTML 页面,一封电子邮件,或者是一个文本文件。一个 Document 对象由多个 Field 对象组成的。可以把一个 Document 对象想象成数据库中的一个记录,而每个 Field 对象就是记录的一个字段。
Field
Field 对象是用来描述一个文档的某个属性的,比如一封电子邮件的标题和内容可以用两个 Field 对象分别描述。
Analyzer
在一个文档被索引之前,首先需要对文档内容进行分词处理,这部分工作就是由 Analyzer 来做的。Analyzer 类是一个抽象类,它有多个实现。针对不同的语言和应用需要选择适合的 Analyzer。Analyzer 把分词后的内容交给 IndexWriter 来建立索引。
IndexWriter
IndexWriter 是 Lucene 用来创建索引的一个核心的类,他的作用是把一个个的 Document 对象加到索引中来。
Directory
这个类代表了 Lucene 的索引的存储的位置,这是一个抽象类,它目前有两个实现,第一个是 FSDirectory,它表示一个存储在文件系统中的索引的位置。第二个是 RAMDirectory,它表示一个存储在内存当中的索引的位置。
Query
这是一个抽象类,他有多个实现,比如 TermQuery, BooleanQuery, PrefixQuery. 这个类的目的是把用户输入的查询字符串封装成 Lucene 能够识别的 Query。
IndexSearcher
IndexSearcher 是用来在建立好的索引上进行搜索的。它只能以只读的方式打开一个索引,所以可以有多个 IndexSearcher 的实例在一个索引上进行操作。
Hits
Hits 是用来保存搜索结果的。

我的浅显理解
使用Lucene分为几个步骤,都是围绕索引展开的:
1.写索引 IndexWriter
2.读索引 IndexReader
3.查索引 IndexSearcher
4.封装查询条件,想到于写数据库的sql QueryParser
5.查询已查到的索引得到结果集 TopDocs ,可以得到Document的一个集合
正式入门,直接上代码                               

写索引:

package com.kl.luceneDemo;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.store.RAMDirectory;
import java.io.File;
import java.io.FileReader;
import java.nio.file.Paths;
/**
* @author kl by 2016/3/14
* @boke www.kailing.pub
*/
public class Indexer {
public IndexWriter writer;
/**
* 实例化写索引
*/
public Indexer(String indexDir)throws Exception{
Analyzer analyzer=new StandardAnalyzer();//分词器
IndexWriterConfig writerConfig=new IndexWriterConfig(analyzer);//写索引配置
//Directory ramDirectory= new RAMDirectory();//索引写的内存
Directory directory= FSDirectory.open(Paths.get(indexDir));//索引存储磁盘位置
writer=new IndexWriter(directory,writerConfig);//实例化一个写索引
}
/**
* 关闭写索引
* @throws Exception
*/
public void close()throws Exception{
writer.close();
}
/**
* 添加指定目录的所有文件的索引
* @param dataDir
* @return
* @throws Exception
*/
public int index(String dataDir)throws Exception{
File files=new File(dataDir).listFiles();//得到指定目录的文档数组
for(File file:files){
indexFile(file);
}
return writer.numDocs();
}
public void indexFile(File file)throws Exception{
System.out.println("索引文件:"+file.getCanonicalPath());//打印索引到的文件路径信息
Document document=getDocument(file);//得到一个文档信息,相对一个表记录
writer.addDocument(document);//写入到索引,相当于插入一个表记录
}

/**
* 返回一个文档记录
* @param file
* @return
* @throws Exception
*/
public Document getDocument(File file)throws Exception{
Document document=new Document();//实例化一个文档
document.add(new TextField("context",new FileReader(file)));//添加一个文档信息,相当于一个数据库表字段
document.add(new TextField("fileName",file.getName(), Field.Store.YES));//添加文档的名字属性
document.add(new TextField("filePath",file.getCanonicalPath(),Field.Store.YES));//添加文档的路径属性
return document;
}
public static void main(String ages){
String indexDir="E:\\LuceneIndex";
String dataDir="E:\\LuceneTestData";
Indexer indexer=null;
int indexSum=0;
try {
indexer=new Indexer(indexDir);
indexSum= indexer.index(dataDir);
System.out.printf("完成"+indexSum+"个文件的索引");

}catch (Exception e){
e.printStackTrace();
}finally {
try {
indexer.close();
}catch (Exception e){
e.printStackTrace();
}

}

}

}
读查索引

package com.kl.luceneDemo;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import java.nio.file.Paths;
/**
* @author kl by 2016/3/14
* @boke www.kailing.pub
*/
public class Searcher {
public static void search(String indexDir,String q)throws Exception{
Directory dir= FSDirectory.open(Paths.get(indexDir));//索引地址
IndexReader reader= DirectoryReader.open(dir);//读索引
IndexSearcher is=new IndexSearcher(reader);
Analyzer analyzer=new StandardAnalyzer(); // 标准分词器
QueryParser parser=new QueryParser("context", analyzer);//指定查询Document的某个属性
Query query=parser.parse(q);//指定查询索引内容,对应某个分词
TopDocs hits=is.search(query, 10);//执行搜索
System.out.println("匹配 "+q+"查询到"+hits.totalHits+"个记录");
for(ScoreDoc scoreDoc:hits.scoreDocs){
Document doc=is.doc(scoreDoc.doc);
System.out.println(doc.get("fileName"));//打印Document的fileName属性
}
reader.close();
}
public static void main(String args) {
String indexDir="E:\\LuceneIndex";
String q="Muir";
try {
search(indexDir,q);
} catch (Exception e) {
e.printStackTrace();
}
}
}
以下图片是我的文件目录和Lucene生成的索引文件
原文地址:http://www.kailing.pub/article/index/arcid/71.html
社区的富文本编辑器太low了,能不能换啊 收起阅读 »

elasticsearch java api 增删改 操作

--添加数据
IndexRequestBuilder requestBuilder = null;
requestBuilder = client.prepareIndex(index, type, key).setRefresh(false);
requestBuilder.setSource(value).get();

--批量数据
BulkRequestBuilder bulkRequest = null;
bulkRequest = client.prepareBulk();
for (Map.Entry<String, Object> map : doc.entrySet()) {
bulkRequest.add(client.prepareIndex(index, type, map.getKey())
.setSource(CouchbaseUtil.GJSON.toJson(map.getValue())).setRefresh(false));
}
bulkRequest.get();
bulkRequest.request().requests().clear();

--更新数据
client.prepareUpdate().setIndex(index).setType(type).setId(id).setDoc(map).get();

--批量删除数据
BulkRequestBuilder bulk = null;
bulk = client.prepareBulk();
for (String id : ids) {
bulk.add(client.prepareDelete().setIndex(index).setType(type).setId(id));
}
bulk.get();
继续阅读 »
--添加数据
IndexRequestBuilder requestBuilder = null;
requestBuilder = client.prepareIndex(index, type, key).setRefresh(false);
requestBuilder.setSource(value).get();

--批量数据
BulkRequestBuilder bulkRequest = null;
bulkRequest = client.prepareBulk();
for (Map.Entry<String, Object> map : doc.entrySet()) {
bulkRequest.add(client.prepareIndex(index, type, map.getKey())
.setSource(CouchbaseUtil.GJSON.toJson(map.getValue())).setRefresh(false));
}
bulkRequest.get();
bulkRequest.request().requests().clear();

--更新数据
client.prepareUpdate().setIndex(index).setType(type).setId(id).setDoc(map).get();

--批量删除数据
BulkRequestBuilder bulk = null;
bulk = client.prepareBulk();
for (String id : ids) {
bulk.add(client.prepareDelete().setIndex(index).setType(type).setId(id));
}
bulk.get(); 收起阅读 »

elasticsearch遍历所有数据集

    BoolQueryBuilder bool=QueryBuilders.boolQuery();
        SearchResponse searchResponse = esClient.prepareSearch("index")
                .setTypes("type")
            .setSize(10000)
            //这个游标维持多长时间
            .setScroll(TimeValue.timeValueMinutes(8))
            .execute().actionGet();
         System.out.println(searchResponse.getHits().getTotalHits());
        while(true){
             for (SearchHit hit : searchResponse.getHits()) {
                   System.out.println(hit.getSourceAsString()));         
                }
            searchResponse = esClient.prepareSearchScroll(searchResponse.getScrollId())
                .setScroll(TimeValue.timeValueMinutes(8))
                .execute().actionGet();
            if (searchResponse.getHits().getHits().length == 0) {
                break;
            }
        }
继续阅读 »
    BoolQueryBuilder bool=QueryBuilders.boolQuery();
        SearchResponse searchResponse = esClient.prepareSearch("index")
                .setTypes("type")
            .setSize(10000)
            //这个游标维持多长时间
            .setScroll(TimeValue.timeValueMinutes(8))
            .execute().actionGet();
         System.out.println(searchResponse.getHits().getTotalHits());
        while(true){
             for (SearchHit hit : searchResponse.getHits()) {
                   System.out.println(hit.getSourceAsString()));         
                }
            searchResponse = esClient.prepareSearchScroll(searchResponse.getScrollId())
                .setScroll(TimeValue.timeValueMinutes(8))
                .execute().actionGet();
            if (searchResponse.getHits().getHits().length == 0) {
                break;
            }
        } 收起阅读 »

南京Elastic社区第一次线下活动

1. 主办方
Elastic中文社区  趋势科技
eslogo.jpg


2. 时间地点
 活动时间:2016年6月25日 14:00 - 17:30 
 活动地点:雨花区软件大道48号苏豪国际广场B座(靠花神庙地铁站)
suhao.PNG


3. 主题 
分享一:ES和Kibana在实时流量分析中的应用
演讲者简介:
杨润达​ 南京云利来软件科技有限公司研发部
 
主题简介:
流量的抓取和存储,流量的可视化,有关流量异常的案例分析,在线的kibana功能展示。
 
分享二:ELK平台SaaS化的问题和解决方案
演讲者简介:
翰思-王晓亮.jpg
 
王晓亮(Tomo Wang) 瀚思安信高级研发工程师
毕业于南京大学,曾就职于趋势科技、Opera,现任瀚思安信高级研发工程师,负责瀚思在线安全分析平台“安全易”的研发工作。
 
主题简介:
ELK(ElasticSearch,Logstash,Kibana)是一套有效的开源日志分析平台,它们作为工具使用非常便利,但是如果要围绕它们搭建在线服务,却有诸多问题。这次的分享主要介绍“安全易”在SaaS化ELK平台的过程中遇到的问题以及对应的技术方案。
 
分享三:ES在苏宁海量日志平台的实践
演讲者简介:
苏宁-彭燕卿.jpg

彭燕卿 苏宁云商IT总部监控研发中心技术副总监
9年软件研发经验,09年加入苏宁,先后从事了SOA系统开发、苏宁易购等大型网站的性能分析调优、监控平台等系统研发和架构工作,目前主要从事苏宁监控系统架构及技术管理工作,专注于APM以及Elasticsearch等实时计算领域。
 
主题简介:
实时日志平台ES架构演变,ES使用过程中遇到的坑及调优,Kibana二次开发等。
 
分享四:甲方安全看日志消息在ELK中的流转​
演讲者简介:
李天爽 闻心科技上海研发中心总监
毕业于南京大学,曾担任趋势科技高级工程师,携程信息安全部资深安全研发工程师。
 
主题简介:
分享携程的日志平台架构、安全事件在ELK中的生命周期、ES的权限方案等。
 
分享五:ES在移动病毒分析和检测中的应用
演讲者简介:
趋势-李啸.jpg

李啸(White Li) 趋势科技中国研发中心资深工程师
毕业于南京邮电大学,曾就职于小米、百度,专注于大规模分布式系统的架构和运维,现负责趋势科技移动安全专家系统的开发工作。
 
主题简介:
介绍ES在样本分析、检测系统中的应用和逐步演变,重点探讨碰到的问题和解决方案。
 
4. 主题slides

ES南京meetup资料


 
继续阅读 »
1. 主办方
Elastic中文社区  趋势科技
eslogo.jpg


2. 时间地点
 活动时间:2016年6月25日 14:00 - 17:30 
 活动地点:雨花区软件大道48号苏豪国际广场B座(靠花神庙地铁站)
suhao.PNG


3. 主题 
分享一:ES和Kibana在实时流量分析中的应用
演讲者简介:
杨润达​ 南京云利来软件科技有限公司研发部
 
主题简介:
流量的抓取和存储,流量的可视化,有关流量异常的案例分析,在线的kibana功能展示。
 
分享二:ELK平台SaaS化的问题和解决方案
演讲者简介:
翰思-王晓亮.jpg
 
王晓亮(Tomo Wang) 瀚思安信高级研发工程师
毕业于南京大学,曾就职于趋势科技、Opera,现任瀚思安信高级研发工程师,负责瀚思在线安全分析平台“安全易”的研发工作。
 
主题简介:
ELK(ElasticSearch,Logstash,Kibana)是一套有效的开源日志分析平台,它们作为工具使用非常便利,但是如果要围绕它们搭建在线服务,却有诸多问题。这次的分享主要介绍“安全易”在SaaS化ELK平台的过程中遇到的问题以及对应的技术方案。
 
分享三:ES在苏宁海量日志平台的实践
演讲者简介:
苏宁-彭燕卿.jpg

彭燕卿 苏宁云商IT总部监控研发中心技术副总监
9年软件研发经验,09年加入苏宁,先后从事了SOA系统开发、苏宁易购等大型网站的性能分析调优、监控平台等系统研发和架构工作,目前主要从事苏宁监控系统架构及技术管理工作,专注于APM以及Elasticsearch等实时计算领域。
 
主题简介:
实时日志平台ES架构演变,ES使用过程中遇到的坑及调优,Kibana二次开发等。
 
分享四:甲方安全看日志消息在ELK中的流转​
演讲者简介:
李天爽 闻心科技上海研发中心总监
毕业于南京大学,曾担任趋势科技高级工程师,携程信息安全部资深安全研发工程师。
 
主题简介:
分享携程的日志平台架构、安全事件在ELK中的生命周期、ES的权限方案等。
 
分享五:ES在移动病毒分析和检测中的应用
演讲者简介:
趋势-李啸.jpg

李啸(White Li) 趋势科技中国研发中心资深工程师
毕业于南京邮电大学,曾就职于小米、百度,专注于大规模分布式系统的架构和运维,现负责趋势科技移动安全专家系统的开发工作。
 
主题简介:
介绍ES在样本分析、检测系统中的应用和逐步演变,重点探讨碰到的问题和解决方案。
 
4. 主题slides

ES南京meetup资料


  收起阅读 »

杭州 Elastic社区第一次线下活动 开始报名啦!!!

PPT下载地址:
 百度云盘:  http://pan.baidu.com/s/1slQn93v   提取码:jqqi
 淘云盘: http://yunpan.taobao.com/s/E2TDSFivxt  提取码: vwIWlm
  
 Elastic 中文社区联手杭州码耘网络共同举办第一次线下聚会,欢迎对elastic、搜索、大数据等技术感兴趣的朋友来玩玩
  • 时间:2016-6-18 13:00:00
  • 地点:杭州市滨江区上峰电商产品园1-227(从聚才路门口进来会比较近,离阿里网易5分钟路程)


                               
 
 
分享主题 :   
  •   有赞搜索引擎实践   ——   洪斌@有赞大数据团队负责人
  •    Elastic结合Hbase的应用实践  —— 汪兴@浙大中控
  •    购阿购数据分析平台对Elasticsearch使用实践     —— 万斌@北京购阿购技术服务有限公司
  •    beats介绍与扩展   ——  曾勇@elastic
  •    基于ELK的云日志产品实践 —— 宁海元@袋鼠云
  •    elasticsearch-jdbc介绍以及基于binlog的增量数据同步方案 —— 卢栋@码耘网络  

 
 
报名方式:
  •   扫描下面微信二维码加入杭州Elastic聚会群,成功加入即算报名成功
  •   无法扫描的同学加我微信(573513542),我来拉你进群


                     
QQ20160613-2@2x.png



乘车:  
   附近公交站: 
  • 秋溢路聚才路口(139路直达)
  • 江虹路秋溢路口(139路、175路)
  • 滨安路江虹路口(225、B支6 路)

   地铁:
  •  坐到滨和路站或者西兴站,然后打车过来起步价

 
    ps :  如果到了滨江不认识路,可以打我手机(15858279062) 我可以来接你。
 
继续阅读 »
PPT下载地址:
 百度云盘:  http://pan.baidu.com/s/1slQn93v   提取码:jqqi
 淘云盘: http://yunpan.taobao.com/s/E2TDSFivxt  提取码: vwIWlm
  
 Elastic 中文社区联手杭州码耘网络共同举办第一次线下聚会,欢迎对elastic、搜索、大数据等技术感兴趣的朋友来玩玩
  • 时间:2016-6-18 13:00:00
  • 地点:杭州市滨江区上峰电商产品园1-227(从聚才路门口进来会比较近,离阿里网易5分钟路程)


                               
 
 
分享主题 :   
  •   有赞搜索引擎实践   ——   洪斌@有赞大数据团队负责人
  •    Elastic结合Hbase的应用实践  —— 汪兴@浙大中控
  •    购阿购数据分析平台对Elasticsearch使用实践     —— 万斌@北京购阿购技术服务有限公司
  •    beats介绍与扩展   ——  曾勇@elastic
  •    基于ELK的云日志产品实践 —— 宁海元@袋鼠云
  •    elasticsearch-jdbc介绍以及基于binlog的增量数据同步方案 —— 卢栋@码耘网络  

 
 
报名方式:
  •   扫描下面微信二维码加入杭州Elastic聚会群,成功加入即算报名成功
  •   无法扫描的同学加我微信(573513542),我来拉你进群


                     
QQ20160613-2@2x.png



乘车:  
   附近公交站: 
  • 秋溢路聚才路口(139路直达)
  • 江虹路秋溢路口(139路、175路)
  • 滨安路江虹路口(225、B支6 路)

   地铁:
  •  坐到滨和路站或者西兴站,然后打车过来起步价

 
    ps :  如果到了滨江不认识路,可以打我手机(15858279062) 我可以来接你。
  收起阅读 »

【招聘】ML/ES/DOCKER方向兼职培训师/讲师

 公司介绍:NobleProg(诺波中国),公司成立于2005年,总部设在英国伦敦并在欧洲和美国建立了特许经营和分公司。2015年来到中国,面对国内企业提供人工智能、IT、统计、管理、编程的培训和咨询服务。
 聘Machine Learning/Elasticserach/Ducker and kubemetes三个方向兼职培训师/讲师。
基本要求如下:
1、具有丰富的理论知识和技能;
2、有一定的项目经验(这包括你是项目leader或项目组成员);
3、有培训师或讲师的经验最佳; 
4、可以依据我们提供的培训大纲结合客户需求做出培训计划;  
5、可授受出差(视项目决定);
6、可接受兼职;
7、薪资待遇请与我们商谈。
 
公司网站:http://www.nobleprog.cn/training
对以上招聘信息感兴趣,请与我们联系。
 
Tina
手机:18610650025
QQ:1575119117
继续阅读 »
 公司介绍:NobleProg(诺波中国),公司成立于2005年,总部设在英国伦敦并在欧洲和美国建立了特许经营和分公司。2015年来到中国,面对国内企业提供人工智能、IT、统计、管理、编程的培训和咨询服务。
 聘Machine Learning/Elasticserach/Ducker and kubemetes三个方向兼职培训师/讲师。
基本要求如下:
1、具有丰富的理论知识和技能;
2、有一定的项目经验(这包括你是项目leader或项目组成员);
3、有培训师或讲师的经验最佳; 
4、可以依据我们提供的培训大纲结合客户需求做出培训计划;  
5、可授受出差(视项目决定);
6、可接受兼职;
7、薪资待遇请与我们商谈。
 
公司网站:http://www.nobleprog.cn/training
对以上招聘信息感兴趣,请与我们联系。
 
Tina
手机:18610650025
QQ:1575119117 收起阅读 »

发布个es迁移工具:elasticsearch-migration

https://github.com/medcl/elasticsearch-migration
支持多个版本间的数据迁移,使用scroll+bulk
1.版本支持1.x,2.x.5.0 (0.x未测试)
2.支持http basic auth 认证的es集群
3.支持导入覆盖索引名称(目前只支持单个索引导入的情况下可指定)
4.支持index setting和mapping的同步(相关es大版本,2.x和5.0之间不支持)
5.支持dump到本地文件
6.支持从dump文件加载导入到指定索引
 
欢迎测试!
 
#copy index index_name from 192.168.1.x to 192.168.1.y:9200
./bin/esm -s http://192.168.1.x:9200 -d http://192.168.1.y:9200 -x index_name -w=5 -b=10 -c 10000

#copy index src_index from 192.168.1.x to 192.168.1.y:9200 and save with dest_index
./bin/esm -s http://localhost:9200 -d http://localhost:9200 -x src_index -y dest_index -w=5 -b=100

#support Basic-Auth
./bin/esm -s http://localhost:9200/ -x "src_index" -y "dest_index" -d http://localhost:9201 -n admin:111111

#copy settings and override shard size
./bin/esm -s http://localhost:9200/ -x "src_index" -y "dest_index" -d http://localhost:9201 -m admin:111111 -c 10000 --shards=50 --copy_settings

#copy settings and mapping, recreate target index, add query to source fetch, refresh after migration
./bin/esm -s http://localhost:9200/ -x "src_index" -q=query:phone -y "dest_index" -d http://localhost:9201 -c 10000 --shards=5 --copy_settings --copy_mapping --force --refresh

#dump elasticsearch documents into local file
./bin/esm -s http://localhost:9200 -x "src_index" -m admin:111111 -c 5000 -b -q=query:mixer --refresh -o=dump.bin

#loading data from dump files, bulk insert to another es instance
./bin/esm -d http://localhost:9200 -y "dest_index" -n admin:111111 -c 5000 -b 5 --refresh -i=dump.bin

 
继续阅读 »
https://github.com/medcl/elasticsearch-migration
支持多个版本间的数据迁移,使用scroll+bulk
1.版本支持1.x,2.x.5.0 (0.x未测试)
2.支持http basic auth 认证的es集群
3.支持导入覆盖索引名称(目前只支持单个索引导入的情况下可指定)
4.支持index setting和mapping的同步(相关es大版本,2.x和5.0之间不支持)
5.支持dump到本地文件
6.支持从dump文件加载导入到指定索引
 
欢迎测试!
 
#copy index index_name from 192.168.1.x to 192.168.1.y:9200
./bin/esm -s http://192.168.1.x:9200 -d http://192.168.1.y:9200 -x index_name -w=5 -b=10 -c 10000

#copy index src_index from 192.168.1.x to 192.168.1.y:9200 and save with dest_index
./bin/esm -s http://localhost:9200 -d http://localhost:9200 -x src_index -y dest_index -w=5 -b=100

#support Basic-Auth
./bin/esm -s http://localhost:9200/ -x "src_index" -y "dest_index" -d http://localhost:9201 -n admin:111111

#copy settings and override shard size
./bin/esm -s http://localhost:9200/ -x "src_index" -y "dest_index" -d http://localhost:9201 -m admin:111111 -c 10000 --shards=50 --copy_settings

#copy settings and mapping, recreate target index, add query to source fetch, refresh after migration
./bin/esm -s http://localhost:9200/ -x "src_index" -q=query:phone -y "dest_index" -d http://localhost:9201 -c 10000 --shards=5 --copy_settings --copy_mapping --force --refresh

#dump elasticsearch documents into local file
./bin/esm -s http://localhost:9200 -x "src_index" -m admin:111111 -c 5000 -b -q=query:mixer --refresh -o=dump.bin

#loading data from dump files, bulk insert to another es instance
./bin/esm -d http://localhost:9200 -y "dest_index" -n admin:111111 -c 5000 -b 5 --refresh -i=dump.bin

  收起阅读 »

北京 Elastic社区第一次线下活动

1、主办方:
    

      ElasticSearch中文社区    奇点机智

QQ20160511-0@2x.png




2、时间与地点:


      5月15日14:00 - 17:30(周日)

     北京海淀区中关村鼎好电子大厦太库孵化器路演厅


QQ20160511-8@2x.png


 

沙龙主题:


分享一:5miles基于es的对外搜索业务实践 

QQ20160511-1@2x.png


王浩宇

5miles搜索工程师

主题简介:

和大家交流一些5miles对外搜索业务中的工作,例如基于es function_score 的rerank的实现,通过geohash减少请求,通过多个data center来实现请求异步,风险控制等

 

分享二: Elasticsearch与Spark的整合

QQ20160511-2@2x.png



祝威廉

多年大数据经验,现专注于Spark/ES 相关领域

主题简介:

个人对ElasticSearch 和 Spark的整合一些看法,简要介绍通过对elasticsearch-hadoop项目的改进,以Spark 和 ElasticSearch 为依托,构建一个Ad-Hoc 查询引擎。

 

分享三:ElasticStack 5.0 介绍


QQ20160511-3@2x.png



medcl

Developer@Elastic

主题简介:

ElasticStack 5.0的新特性介绍


 

活动流程:


13:00-13:45  签到及入场

13:45-14:00  主持人介绍活动

14:00-15:00  王浩宇    5miles基于es的对外搜索业务实践

15:00-16:00  祝威廉    ElasticSearch 与 Spark 的整合 

16:00-16:30  茶歇与自由沟通

16:30-17:30  medcl   ElasticStack 5.0 介绍


QQ20160511-5@2x.png




报名方式:

本次活动全程免费,欢迎报名
http://www.huodongxing.com/event/6334153926600#rd


活动联系:
联系人:凌霄
手机:18600209779
邮箱:hellolingxiao@gmail.com



QQ20160511-7@2x.png

想要加入Elastic北京微信群,扫描上方二维码加小助手拉你进群

QQ20160511-6@2x.png






 
继续阅读 »
1、主办方:
    

      ElasticSearch中文社区    奇点机智

QQ20160511-0@2x.png




2、时间与地点:


      5月15日14:00 - 17:30(周日)

     北京海淀区中关村鼎好电子大厦太库孵化器路演厅


QQ20160511-8@2x.png


 

沙龙主题:


分享一:5miles基于es的对外搜索业务实践 

QQ20160511-1@2x.png


王浩宇

5miles搜索工程师

主题简介:

和大家交流一些5miles对外搜索业务中的工作,例如基于es function_score 的rerank的实现,通过geohash减少请求,通过多个data center来实现请求异步,风险控制等

 

分享二: Elasticsearch与Spark的整合

QQ20160511-2@2x.png



祝威廉

多年大数据经验,现专注于Spark/ES 相关领域

主题简介:

个人对ElasticSearch 和 Spark的整合一些看法,简要介绍通过对elasticsearch-hadoop项目的改进,以Spark 和 ElasticSearch 为依托,构建一个Ad-Hoc 查询引擎。

 

分享三:ElasticStack 5.0 介绍


QQ20160511-3@2x.png



medcl

Developer@Elastic

主题简介:

ElasticStack 5.0的新特性介绍


 

活动流程:


13:00-13:45  签到及入场

13:45-14:00  主持人介绍活动

14:00-15:00  王浩宇    5miles基于es的对外搜索业务实践

15:00-16:00  祝威廉    ElasticSearch 与 Spark 的整合 

16:00-16:30  茶歇与自由沟通

16:30-17:30  medcl   ElasticStack 5.0 介绍


QQ20160511-5@2x.png




报名方式:

本次活动全程免费,欢迎报名
http://www.huodongxing.com/event/6334153926600#rd


活动联系:
联系人:凌霄
手机:18600209779
邮箱:hellolingxiao@gmail.com



QQ20160511-7@2x.png

想要加入Elastic北京微信群,扫描上方二维码加小助手拉你进群

QQ20160511-6@2x.png






  收起阅读 »

es分词索引创建

{
    "settings": {
        "index": {
            "number_of_replicas": "0",
            "number_of_shards": "5",
            "refresh_interval": "-1",
            "translog.flush_threshold_ops": "100000"
        }
    },
    "mappings": {
        "etp_t": {
            "properties": {
                "dd": {
                    "type": "multi_field",
                    "fields": {
                        "pn": {
                            "type": "string",
                            "store": "yes",
                            "analyzer": "pinyin_first_letter",
                            "search_analyzer": "pinyin_first_letter"
                        },
                        "pk": {
                            "type": "string",
                            "store": "yes",
                            "analyzer": "pinyin_ngram_analyzer",
                            "search_analyzer": "pinyin_ngram_analyzer"
                        },
                        "cn": {
                            "type": "string",
                            "store": "yes",
                            "analyzer": "ik_max_word",
                            "search_analyzer": "ik_max_word",
                            "term_vector": "with_positions_offsets",
                            "boost": 10
                        },
                        "un": {
                            "type": "string",
                            "index": "not_analyzed"
                        }
                    }
                }
            }
        }
    }
}
继续阅读 »
{
    "settings": {
        "index": {
            "number_of_replicas": "0",
            "number_of_shards": "5",
            "refresh_interval": "-1",
            "translog.flush_threshold_ops": "100000"
        }
    },
    "mappings": {
        "etp_t": {
            "properties": {
                "dd": {
                    "type": "multi_field",
                    "fields": {
                        "pn": {
                            "type": "string",
                            "store": "yes",
                            "analyzer": "pinyin_first_letter",
                            "search_analyzer": "pinyin_first_letter"
                        },
                        "pk": {
                            "type": "string",
                            "store": "yes",
                            "analyzer": "pinyin_ngram_analyzer",
                            "search_analyzer": "pinyin_ngram_analyzer"
                        },
                        "cn": {
                            "type": "string",
                            "store": "yes",
                            "analyzer": "ik_max_word",
                            "search_analyzer": "ik_max_word",
                            "term_vector": "with_positions_offsets",
                            "boost": 10
                        },
                        "un": {
                            "type": "string",
                            "index": "not_analyzed"
                        }
                    }
                }
            }
        }
    }
} 收起阅读 »

【内附讲师干货PPT】首届ES中文社区技术沙龙广州站圆满举行咯

4月23日,首届Elasticsearch中文社区技术沙龙【广州站】在广州筑梦咖啡成功举行。


2016年ES中文社区全国巡回技术沙龙,分别在北京、上海、广州三地召开。【广州站】由ES中文社区和数说故事共同举办,主题为“企业级搜索引擎与大数据实战分享”,共吸引了来自腾讯、网易、欢聚时代、金蝶及舜飞科技等企业的共120+观众到现场交流。来自于欢聚时代的赖鸿智、数说故事的黄耀鸿、塔布数据的何金城三位ES大牛从入门到实战经验给现场观众带来了一次关于ES的干货分享。
 


嘉宾.jpg

 
三位讲师分别从【入门】:ES优化技巧及工具推荐、【重点】基于父子文档实现的ES关联查询、【实战】亿级规模的ES查询优化实战三个层面对ES进行了介绍。赖鸿智指出自己在2011年就已经接触到ES,对于ES的初学者他从管理及监控两个方面做了一些工具的推荐。
 
更多精彩内容,下载讲师ppt吧
http://pan.baidu.com/s/1sliR7qP
提取密码:v5p3
 
 
继续阅读 »
4月23日,首届Elasticsearch中文社区技术沙龙【广州站】在广州筑梦咖啡成功举行。


2016年ES中文社区全国巡回技术沙龙,分别在北京、上海、广州三地召开。【广州站】由ES中文社区和数说故事共同举办,主题为“企业级搜索引擎与大数据实战分享”,共吸引了来自腾讯、网易、欢聚时代、金蝶及舜飞科技等企业的共120+观众到现场交流。来自于欢聚时代的赖鸿智、数说故事的黄耀鸿、塔布数据的何金城三位ES大牛从入门到实战经验给现场观众带来了一次关于ES的干货分享。
 


嘉宾.jpg

 
三位讲师分别从【入门】:ES优化技巧及工具推荐、【重点】基于父子文档实现的ES关联查询、【实战】亿级规模的ES查询优化实战三个层面对ES进行了介绍。赖鸿智指出自己在2011年就已经接触到ES,对于ES的初学者他从管理及监控两个方面做了一些工具的推荐。
 
更多精彩内容,下载讲师ppt吧
http://pan.baidu.com/s/1sliR7qP
提取密码:v5p3
 
  收起阅读 »

社区使用WeCenter,一个开源的php+mysql社区问答系统搭建

前言

之前学习Lucene和ElasticSearch的时候经常逛逛Elastic的中文社区,发现社区做的蛮不错的,风格和ui都比较清新,今天突然看到了一个站和其风格类似,我就肯定是个开源的产品二次开发的,后来发现了WeCenter,一个很不错的社区问答系统

简介

WeCenter 是一款知识型的社交化开源社区程序,专注于企业和行业社区内容的整理、归类、检索和再发行。

为什么选择WeCenter

管理中心,一手掌控
管理中心为你建立起快速通路,所有功能开关,只需轻点一下,即可轻松完成配置,如此众多的操控,任你一挥而就

开放源码,便捷开发
WeCenter 含有多项创新功能,遵循 MVC 架构,充分利用当下最新技术,对于开发者来说都会大有帮助,二次开发,更强定制,更易上手

个性路由,个性定制
WeCenter 让你用你喜欢的方式,更灵活地定制 URL 路由,URL 地址不再是千篇一律的样式,在 SEO 优化上祝你一臂之力
设计之妙,上手即知
我们创造的每一件产品,从来都不仅仅追求设计的美观。我们在考虑设计的同时,更希望用户更能容易定制模板,最终我们选择了 Bootstrap,定制模板时你会发现一切都是那么的方便,简易

安装初体验

从官网下载源代码后将UPLOAD放入你的http服务器入目下,开始安装体验之旅

QQ图片20160425102527.png

原文地址:http://www.kailing.pub/article ... .html
继续阅读 »
前言

之前学习Lucene和ElasticSearch的时候经常逛逛Elastic的中文社区,发现社区做的蛮不错的,风格和ui都比较清新,今天突然看到了一个站和其风格类似,我就肯定是个开源的产品二次开发的,后来发现了WeCenter,一个很不错的社区问答系统

简介

WeCenter 是一款知识型的社交化开源社区程序,专注于企业和行业社区内容的整理、归类、检索和再发行。

为什么选择WeCenter

管理中心,一手掌控
管理中心为你建立起快速通路,所有功能开关,只需轻点一下,即可轻松完成配置,如此众多的操控,任你一挥而就

开放源码,便捷开发
WeCenter 含有多项创新功能,遵循 MVC 架构,充分利用当下最新技术,对于开发者来说都会大有帮助,二次开发,更强定制,更易上手

个性路由,个性定制
WeCenter 让你用你喜欢的方式,更灵活地定制 URL 路由,URL 地址不再是千篇一律的样式,在 SEO 优化上祝你一臂之力
设计之妙,上手即知
我们创造的每一件产品,从来都不仅仅追求设计的美观。我们在考虑设计的同时,更希望用户更能容易定制模板,最终我们选择了 Bootstrap,定制模板时你会发现一切都是那么的方便,简易

安装初体验

从官网下载源代码后将UPLOAD放入你的http服务器入目下,开始安装体验之旅

QQ图片20160425102527.png

原文地址:http://www.kailing.pub/article ... .html 收起阅读 »

elasticearch,jdk,maven安装


  
安装jdk

下载地址

http://www.oracle.com/technetw ... .html

 


 
 
 

JAVA_HOME  :   E:\Java\jdk1.7.0

 

Path   :  %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

 

CLASSPATH  : .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

 

 

 

首先下载最新的elasticsearch安装版本

https://www.elastic.co/downloads/elasticsearch

 

安装插件

elasticsearch插件elasticsearch-head安装: plugininstall mobz/elasticsearch-head

 

elasticsearch插件bigdesk安装:plugininstall lukas-vlcek/bigdesk

 

前台运行es

在cmd命令行进入安装目录,再进入 bin目录,运行elasticsearch.bat命令: elasticsearch

后台运行es

进入E:\Install_SoftWare\elasticsearch2.2.0\bin

注册服务  service.bat install
 

 

内存分配

打开E:\Install_SoftWare\elasticsearch2.2.0\bin\service.bat
 

或着修改注册表参数

打开regedit

 

 

全路径:hkey_local_machine/software/wow6432node/apacheSoftware foundation/procrun2.0/elasticsearch-service-x64/java

 

启动成功如下图
简单查询
复杂查询
elasticsearch.yml文件配置

 

cluster.name: pq  es名称 

 

node.name: node10 节点名称 

 

node.master: true 设为主节点

node.master: false 不为主节点

 

node.data: false 不存储数据

node.data:true  存储数据

 

组合master, data

Master=true, data=false  该节点做为主节点

Master=true, data=true  该节点既是主节点又是数据节点

Master=false, data=true  该节点做为数据节点

Master=false, data= false 该节点做为负载均衡节点

 

 

 

path.data: G:\es_data,F:\es_data  数据存储路径  只有数据节点存储数据

 

path.logs: D:\es_logs  日志存储路径

 

bootstrap.mlockall: true  用来锁定内存

 

network.host: 0.0.0.0  设置ip

http.port: 9200  设置http端口

transport.tcp.port: 9300  设置tcp端口

discovery.zen.ping.unicast.hosts:["0.0.*.*","*.*.*.*:9300"]设置群集ip地址

 

 

 

分词安装(IK分词)

Maven环境配置

官方下载地址:http://maven.apache.org/download.html
 
 
 


 

 

 https://github.com/medcl/elasticsearch-analysis-ik下载地址

 

把下载的elasticsearch-analysis-ik.zip 解压。

 

 Maven 打包

进入elasticsearch-analysis-ik-master/ 下,打包。注意:打包后的文件在elasticsearch-analysis-ik-master/target/目录下
 

然后在elasticsearch-2.2.0/plugins下创建目录 ik
 

然后将打包后的elasticsearch-analysis-ik-1.8.0.jar 放入当前目录下
 

 

Maven 打包命令  mvn clean   package

 

在 Elasticsearch 的config下的elasticsearch.yml文件中,添加如下代码。 设置(2.0以上可以不设置)。1.  index:  2.        analysis:                     3.          analyzer:        4.            ik:  5.               alias: [ik_analyzer]  6.                type:org.elasticsearch.index.analysis.IkAnalyzerProvider  7.            ik_max_word:  8.                type: ik 9.                use_smart: false  10.           ik_smart:  11.               type: ik  12.              use_smart: true或者简单配置:index.analysis.analyzer.ik.type : “ik”

 

分词测试

  http://127.0.0.0:9215/index/_a ... true/

post

{"text":"刑事判决书"}、
 

 

 

详细ik分词配置网址

http://www.sojson.com/blog/82
继续阅读 »

  
安装jdk

下载地址

http://www.oracle.com/technetw ... .html

 


 
 
 

JAVA_HOME  :   E:\Java\jdk1.7.0

 

Path   :  %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

 

CLASSPATH  : .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

 

 

 

首先下载最新的elasticsearch安装版本

https://www.elastic.co/downloads/elasticsearch

 

安装插件

elasticsearch插件elasticsearch-head安装: plugininstall mobz/elasticsearch-head

 

elasticsearch插件bigdesk安装:plugininstall lukas-vlcek/bigdesk

 

前台运行es

在cmd命令行进入安装目录,再进入 bin目录,运行elasticsearch.bat命令: elasticsearch

后台运行es

进入E:\Install_SoftWare\elasticsearch2.2.0\bin

注册服务  service.bat install
 

 

内存分配

打开E:\Install_SoftWare\elasticsearch2.2.0\bin\service.bat
 

或着修改注册表参数

打开regedit

 

 

全路径:hkey_local_machine/software/wow6432node/apacheSoftware foundation/procrun2.0/elasticsearch-service-x64/java

 

启动成功如下图
简单查询
复杂查询
elasticsearch.yml文件配置

 

cluster.name: pq  es名称 

 

node.name: node10 节点名称 

 

node.master: true 设为主节点

node.master: false 不为主节点

 

node.data: false 不存储数据

node.data:true  存储数据

 

组合master, data

Master=true, data=false  该节点做为主节点

Master=true, data=true  该节点既是主节点又是数据节点

Master=false, data=true  该节点做为数据节点

Master=false, data= false 该节点做为负载均衡节点

 

 

 

path.data: G:\es_data,F:\es_data  数据存储路径  只有数据节点存储数据

 

path.logs: D:\es_logs  日志存储路径

 

bootstrap.mlockall: true  用来锁定内存

 

network.host: 0.0.0.0  设置ip

http.port: 9200  设置http端口

transport.tcp.port: 9300  设置tcp端口

discovery.zen.ping.unicast.hosts:["0.0.*.*","*.*.*.*:9300"]设置群集ip地址

 

 

 

分词安装(IK分词)

Maven环境配置

官方下载地址:http://maven.apache.org/download.html
 
 
 


 

 

 https://github.com/medcl/elasticsearch-analysis-ik下载地址

 

把下载的elasticsearch-analysis-ik.zip 解压。

 

 Maven 打包

进入elasticsearch-analysis-ik-master/ 下,打包。注意:打包后的文件在elasticsearch-analysis-ik-master/target/目录下
 

然后在elasticsearch-2.2.0/plugins下创建目录 ik
 

然后将打包后的elasticsearch-analysis-ik-1.8.0.jar 放入当前目录下
 

 

Maven 打包命令  mvn clean   package

 

在 Elasticsearch 的config下的elasticsearch.yml文件中,添加如下代码。 设置(2.0以上可以不设置)。1.  index:  2.        analysis:                     3.          analyzer:        4.            ik:  5.               alias: [ik_analyzer]  6.                type:org.elasticsearch.index.analysis.IkAnalyzerProvider  7.            ik_max_word:  8.                type: ik 9.                use_smart: false  10.           ik_smart:  11.               type: ik  12.              use_smart: true或者简单配置:index.analysis.analyzer.ik.type : “ik”

 

分词测试

  http://127.0.0.0:9215/index/_a ... true/

post

{"text":"刑事判决书"}、
 

 

 

详细ik分词配置网址

http://www.sojson.com/blog/82 收起阅读 »

elasticsearch读取多个redis值

input{
    redis{
        host => "192.168.80.50"
        port => 6379
        password => "xxx"
        data_type => "list"
        key => "logstash-ljk-screen"
        codec => json
        type=>"ljkscreen"
    }
    redis{
        host => "192.168.80.50"
        port => 6379
        password => "xxx"
        data_type => "list"
        key => "logstash-kg-media"
        codec => json
                type=>"kgmedia"
                
    }
}
继续阅读 »
input{
    redis{
        host => "192.168.80.50"
        port => 6379
        password => "xxx"
        data_type => "list"
        key => "logstash-ljk-screen"
        codec => json
        type=>"ljkscreen"
    }
    redis{
        host => "192.168.80.50"
        port => 6379
        password => "xxx"
        data_type => "list"
        key => "logstash-kg-media"
        codec => json
                type=>"kgmedia"
                
    }
} 收起阅读 »

首届ES中文社区技术沙龙【广州站】—企业级搜索引擎与大数据实战分享

从2015年后,大数据被认为是驱动企业变革的推动剂,为经济创新带来新的增量。ElasticSearch(下文简称ES)是当前流行的企业级搜索引擎,它提供了一个分布式多用户能力的全文搜索引擎。简言之,大数据时代ES能够提供简单易用的方式帮助企业从大型数据库中快速提取有效信息进行分析。

2016年首届ES中文社区全国巡回技术沙龙在北京、上海、广州三地召开。ES中文社区携手数说故事共同主办 ElasticSearch技术沙龙-广州站,诚邀您参加交流。

4月23日14:00 - 17:30,广州筑梦咖啡,我们不见不散。


沙龙详情:

1、主办方:
    
 ElasticSearch中文社区    数说故事

666666.jpg


2、时间与地点:


4月23日14:00 - 17:30(周六)

广州筑梦咖啡(广州天河区黄埔大道中309号羊城创意产业园(近骏景花园)

搜狗截图16年04月15日1428_1.png



沙龙主题:

ElasticSearch技术沙龙—企业级搜索引擎实战与案例分享

 
分享一:你不得不知道的ES的使用经验及优化技巧


YY.jpg


赖鸿智

欢聚时代搜索工程师,负责欢聚时代搜索服务

主题简介:

ES使用中掉过的坑以及优化技巧,主要包括:搜索平台的架构,实时大数据分析平台的架构。

 

分享二: 基于父子文档实现的ES关联查询


QQ图片20160415200715_副本.jpg



黄耀鸿

数说故事技术总监,多年大数据开发经验

主题简介:

为你解答在千万级用户和发布的亿级文章内容中,如何利用父子文档,通过一对多的关联查询,实现对内容搜索,对用户分析的场景。

 

分享三:ES实战现场:亿级规模的ES查询优化实战



jincheng1.jpg


                                                                                              何金城

塔布高级数据项目经理

主题简介:

在传统家电企业的DMP系统实施实战中ES的一些使用情况及查询优化实践。


活动流程:

14:00-14:30  签到及入场
14:30-14:40  主持人介绍活动
14:40-15:20  赖鸿智    Elasticsearch的一些使用经验及优化技巧
15:20-16:00  黄耀鸿    基于父子文档实现的ES关联查询
16:00-16:40  何金城    亿级规模的ES查询优化实战
16:40-17:10  提问交流   可获精美礼品
17:10-17:30  自由沟通


哪些惊喜:

企业级搜索引擎全程干货的分享

免费领取由ElasticSearch中文社区提供的限量版礼品

有机会参观大数据公司【数说故事】,近距离了解大数据工作流程


报名方式:

本次活动全程免费,欢迎报名
 
报名入口:活动行

活动联系:
联系人:陈小姐
手机:13660037521
邮箱:625802461@qq.com


更多活动详情扫描二维码关注数说故事

【logo】数说故事(datastory2015).jpg


(公众号:datastory2015)      
继续阅读 »
从2015年后,大数据被认为是驱动企业变革的推动剂,为经济创新带来新的增量。ElasticSearch(下文简称ES)是当前流行的企业级搜索引擎,它提供了一个分布式多用户能力的全文搜索引擎。简言之,大数据时代ES能够提供简单易用的方式帮助企业从大型数据库中快速提取有效信息进行分析。

2016年首届ES中文社区全国巡回技术沙龙在北京、上海、广州三地召开。ES中文社区携手数说故事共同主办 ElasticSearch技术沙龙-广州站,诚邀您参加交流。

4月23日14:00 - 17:30,广州筑梦咖啡,我们不见不散。


沙龙详情:

1、主办方:
    
 ElasticSearch中文社区    数说故事

666666.jpg


2、时间与地点:


4月23日14:00 - 17:30(周六)

广州筑梦咖啡(广州天河区黄埔大道中309号羊城创意产业园(近骏景花园)

搜狗截图16年04月15日1428_1.png



沙龙主题:

ElasticSearch技术沙龙—企业级搜索引擎实战与案例分享

 
分享一:你不得不知道的ES的使用经验及优化技巧


YY.jpg


赖鸿智

欢聚时代搜索工程师,负责欢聚时代搜索服务

主题简介:

ES使用中掉过的坑以及优化技巧,主要包括:搜索平台的架构,实时大数据分析平台的架构。

 

分享二: 基于父子文档实现的ES关联查询


QQ图片20160415200715_副本.jpg



黄耀鸿

数说故事技术总监,多年大数据开发经验

主题简介:

为你解答在千万级用户和发布的亿级文章内容中,如何利用父子文档,通过一对多的关联查询,实现对内容搜索,对用户分析的场景。

 

分享三:ES实战现场:亿级规模的ES查询优化实战



jincheng1.jpg


                                                                                              何金城

塔布高级数据项目经理

主题简介:

在传统家电企业的DMP系统实施实战中ES的一些使用情况及查询优化实践。


活动流程:

14:00-14:30  签到及入场
14:30-14:40  主持人介绍活动
14:40-15:20  赖鸿智    Elasticsearch的一些使用经验及优化技巧
15:20-16:00  黄耀鸿    基于父子文档实现的ES关联查询
16:00-16:40  何金城    亿级规模的ES查询优化实战
16:40-17:10  提问交流   可获精美礼品
17:10-17:30  自由沟通


哪些惊喜:

企业级搜索引擎全程干货的分享

免费领取由ElasticSearch中文社区提供的限量版礼品

有机会参观大数据公司【数说故事】,近距离了解大数据工作流程


报名方式:

本次活动全程免费,欢迎报名
 
报名入口:活动行

活动联系:
联系人:陈小姐
手机:13660037521
邮箱:625802461@qq.com


更多活动详情扫描二维码关注数说故事

【logo】数说故事(datastory2015).jpg


(公众号:datastory2015)       收起阅读 »

ES中文社区logo



我试试怎么用


我试试怎么用