ElasticSearch(搜索引擎,全文检索)

基本认识:es要安装在服务器上,我们要导入数据进es,需要的时候,java程序访问es,执行查询命令,获取结果

基本流程: 类似于百度搜索 我们有如下资源: Doc1:我要当县长 (我 县长) Doc2:我要吃龙虾 (我 吃 龙虾) Doc3:我想学编程 (我 学 编程) ES存储时将他们分词 索引的建立(倒排索引) 我:Doc1,Doc2,Doc3 吃:Doc2 学:Doc3 县长:Doc1 Doc1,2,3这个信息,相当于主键,mysql就是对它建立索引,主键查出相应的记录,数据量少的时候效率高 当实体数据多到一定程度(两倍于常用汉字,词组数量时,比如英文大概12000个词汇,而文章可能十几万). 使用方面: 1.安装过程 (1)上传(或下载)es和分词器的安装包(注意,版本是敏感的,这俩版本还得一样) (2)解压es,修改这么几个地方 jvm.options:Xms和Xmx默认是1g,推荐是4g,如果服务器不行,改小一点,比如512m elasticsearch.yml:path.data:数据目录位置,path.logs:日志目录位置,network.host:允许访问的地址

改完了,看看你这两个文件夹有没有,没有就新建。 (3)新建用户 es不可以用root用户启动,adduser xxxx创建一个用户,一路回车,给一个密码。 (4)使用这个新建的用户,在bin下面 ./elasticsearch就可以开启了 可能报错:vm.max_map_count[xxxx]is too low …at least [ccccc] 如果报这个错,就以root用户身份去改: /etc/sysctl.conf文件,增加这一行 vm.max_map_count=ccccc 改完,sysctl -p 执行命令生效,再换回新建的用户去启动 (5)外部访问:你的ip:9200,看到you know for search

经验分享 程序员 微信小程序 职场和发展