好久没有搞文章了,最近项目有需求要用分词,最开始想用solr来着,后来领导死活不用,说是用Elasticsearch ,Elasticsearch 有人维护,所以硬着头皮搞了搞。
我是在windows上试验的,用的最新版本的Elasticsearch 2.3,安装和,插件什么的不就说了,
之后到导入mysql数据库的数据到Elasticsearch中,我首先down了一个http://xbib.org/repository/org/xbib/elasticsearch/importer/elasticsearch-jdbc/2.3.1.0/elasticsearch-jdbc-2.3.1.0-dist.zip
然后解压,去到他的bin目录下找到了mysql-simple-example.bat和log4j2.xml 拷贝到了Elasticsearch的bin目录下,打开mysql-simple-example.bat,发现里面的内容无法执行,所以对这个bat进行了修改
修稿后的内容如下
set DIR=%~dp0 set LIB="%DIR%..\elasticsearch-jdbc-2.3.1.0\lib\*" set BIN="%DIR%..\elasticsearch-jdbc-2.3.1.0\bin\*" "E:\jdk1.8.0_77\bin\java" -cp "%LIB%" -Dlog4j.configurationFile=file://%DIR%log4j2.xml "org.xbib.tools.Runner" "org.xbib.tools.JDBCImporter" jdbc_mysql.json
原来的文件中是有一段json的,我把这段代码放到了一个json文件里名字叫jdbc_mysql.json
内容如下:
{ "type": "jdbc", "jdbc": { "url": "jdbc:mysql://ip:3306/database", "user": "root", "password": "root", "sql": "select b.zon_id as _id ,b.zon_nm as zon_nm ,b.zon_shrt_nm as shrt_nm from bus_chinaarea b ", "index": "database", "type": "bus_chinese_1" } }
几个参数,sql里面的 _id 就是去定义Elasticsearh里面的id的不然它会用Elasticsearch自带的id生成方式
index就是索引名称 我定义成数据库名字
type就是类型 我定义成了表的名字。可能还有一些其他的参数信息,https://github.com/jprante/elasticsearch-jdbc
这里可以找到。
最后就是执行了,Elasticsearch/bin目录下执行mysql-simple-example.bat,mysql数据库的东西就导入了。
然后就是查询了,我用了Elasticsearch的插件head,来执行查询,发现查询的结果并没有分词,后来才明白我导入的时候并没有定义mapping,其实在导入数据的时候有参数去定义mapping,定义了就好了。
但是我并没有这么做,我后来是先在Elasticsearch里面定义了index和type然后给type定义的mapping
ik分词的安装这里就不说了,网上的步骤太多了
put http://127.0.0.1:9200/entp_cr1/bus_chinese_1/_mapping { "bus_chinese_1": { "_all": { "analyzer": "ik", "search_analyzer": "ik", "term_vector": "no", "store": "false" }, "properties": { "zon_nm": { "type": "string", "store": "no", "term_vector": "with_positions_offsets", "analyzer": "ik", "search_analyzer": "ik", "include_in_all": "true", "boost": 8 }, "shrt_nm": { "type": "string", "store": "no", "term_vector": "with_positions_offsets", "analyzer": "ik", "search_analyzer": "ik", "include_in_all": "true", "boost": 8 } } } }
定义了mapping之后我又重新导入了数据,然后执行的查询
post http://127.0.0.1:9200//entp_cr1/bus_chinese_1/_search { "query" : { "query_string" : { "default_field" : "zon_nm", "query" : "北京" } } }
部分执行结果
hits: { total: 40 max_score: 31.53391 hits: [ { _index: entp_cr1 _type: bus_chinese_1 _id: 110000 _score: 31.53391 _source: { zon_nm: 北京市 shrt_nm: 北京市 } } { _index: entp_cr1 _type: bus_chinese_1 _id: 110200 _score: 28.256222 _source: { zon_nm: 北京市县 shrt_nm: 县 } } { _index: entp_cr1 _type: bus_chinese_1 _id: 110102 _score: 24.21962 _source: { zon_nm: 北京市西城区 shrt_nm: 西城区 } } {
最后发现要学的东西还有很多啊 ,还是努力看文档吧,什么mysql动态更新,热更新ik词库,还有Elasticsearch的文档只看了个大概,我的天,还是慢慢来吧~~
未完待续~~
相关推荐
Elasticsearch(简称ES)是一款强大的开源搜索引擎,广泛应用于数据检索、分析和管理。作为分布式、RESTful风格的搜索和数据分析引擎,Elasticsearch能够提供实时、高可用性以及可扩展的搜索功能。在进行日常的数据...
Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,...
Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,...
elasticsearch-7.17.6及对应版本IK分词 适合人群:elasticsearch初学者 Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elastic...
Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,...
Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,...
Elasticsearch 各个版本 jar 包下载 Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产...
2. **数据探索**:快速查找和理解存储在Elasticsearch中的数据。 3. **开发调试**:在开发过程中测试索引和查询逻辑。 4. **培训教育**:向初学者展示Elasticsearch的工作原理和操作方式。 ### 注意事项 1. **版本...
总之,elasticsearch-head-5.0.0.zip是针对Elasticsearch 5.0.0版本的一个实用的可视化工具,它极大地简化了集群管理和数据探索的过程,尤其适合初学者和开发者进行快速的调试和测试。不过,随着Elasticsearch的发展...
**Elasticsearch 8.1.2 for Windows x86_64 知识详解** Elasticsearch 是一款开源的全文搜索引擎,广泛应用于大数据和Big Data处理领域,尤其在搜索引擎构建上表现出色。其核心特性包括分布式、实时、可扩展性、...
- **Kibana**:作为数据可视化工具,Kibana如何帮助用户通过界面探索和展示Elasticsearch中的数据。 6. **监控与运维** - **健康检查**:如何检查Elasticsearch集群的健康状态,识别和解决问题。 - **性能调优**...
**Elasticsearch官方提供数据案例account.json** Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎,它允许用户快速地存储、搜索和分析大量数据。在这个案例中,"account.json"是Elasticsearch官方提供的一...
1. **Kibana集成**:通常配合Kibana进行数据可视化和交互式探索,安装Kibana并配置连接到Elasticsearch。 2. **RESTful API**:通过HTTP接口与Elasticsearch交互,创建、读取、更新和删除数据。 3. **Logstash输入/...
这样的集成使得地理空间数据能够充分利用Elasticsearch的实时搜索、分析和可视化能力,对GIS数据进行更深层次的探索和应用。 总结起来,"ArcGIS桌面工具--矢量数据导入elasticsearch"这一主题涵盖了GIS数据处理、...
- **Kibana集成**:Elasticsearch 7.2.0与Kibana的集成更加紧密,提供了更好的可视化体验和更丰富的数据探索工具。 - **向后兼容性**:尽管进行了大量的更新和改进,但Elasticsearch 7.2.0仍然保持了与早期版本的...
Kibana是Elasticsearch的数据探索和可视化界面,可以帮助你创建仪表板、进行数据分析,并设置警报规则。 为了保证Elasticsearch的稳定运行,需要注意以下几点: - 确保系统资源充足,尤其是内存,因为Elastic...
4. **包结构**:压缩包中的"es"文件夹很可能包含Elasticsearch的核心库文件,这些文件是运行Elasticsearch服务的基础。"other"文件夹中的内容可能包含额外的依赖或辅助工具,其具体用途可能需要进一步探索或文档说明...
Kibana是一个可视化界面,用于探索和展示Elasticsearch中的数据;Logstash负责收集、解析和摄入各种日志数据;而Beats是一系列轻量级数据发送者,用于从各种来源传输数据到Logstash或直接发送到Elasticsearch。 在...
**Elasticsearch 入门到精通** Elasticsearch 是一个高度可扩展的开源全文搜索引擎,设计用于处理大量数据,提供实时分析和搜索功能。它基于 Lucene 库,但提供了更高级别的分布式、RESTful 风格的搜索和数据分析...
Elasticsearch 与 Kibana 是两个非常重要的开源工具,广泛应用于日志分析、数据可视化以及实时搜索领域。这个压缩包包含的是 Elasticsearch 7.10.2 和 Kibana 7.10.2 的 Windows 版本,是专门为在 Windows 操作系统...