elasticsearch的基本使用记录

来源:互联网 发布:矩阵与矩阵相乘怎么算 编辑:程序博客网 时间:2024/06/13 13:51

前言

最近要做一个搜索相关的功能,想想一般搜索怎么做?
方案1:通过SQL语句模糊查询数据库。

  • 优点:sql语句方便编写,几行sql语句就能轻松查出数据
  • 缺点:增加数据库压力、模糊查询有局限性

方案2:通过全文检索去检索,比如Lucence。

  • 优点:没有局限性,输入关键字就能把相关的数据搜索出来,就跟搜索引擎一样
  • 缺点:需要配置相关环境、相关API文档啥的,比较麻烦。

不过已经有基于Lucence实现的引擎,比如Solr、ElasticSearch。不过我这里记录的是ElasticSearch,Solr也尝试过大家可以再去搜下资料。

环境搭建

官方使用文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
官方Java API(也有其他语言):https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/index.html

问题集锦

一版我们的生产环境是Linux,在安装过程中也存在一些问题:
ElasticSearch 5.0.0 安装部署常见错误或问题
Elasticsearch 5.2.1安装问题解答

分词器

  • 官方也提供了分词器的功能,但是比较弱,请看https://www.elastic.co/guide/cn/elasticsearch/guide/current/standard-tokenizer.html。
  • 另外针对中文的分词,别人也开源了还不错,请看https://github.com/medcl/elasticsearch-analysis-ik。不过需要注意的是插件的版本与ElasticSearch要对应上,否则安装不成功。

基本使用

  • 直接查看相关语言的API即可,里面覆盖了增删改查:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-docs-index.html

  • 或者使用Linux中的curl命令去操作也是可以的。

原创粉丝点击