全部 文章 问答 分享 共找到11个相关内容
[文章] SpringBoot集成ElasticSearch7.9.1
文档https://www.elastic.co/guide/index.htmlhttps://www.elastic.co/guide/en/elasticsearch/client/java-rest
2020-10-01 09:23 · spingboot / elasticsearch
[文章] docker 安装 Elasticsearch6.4.3版本 及中文插件安装。
nameelasticsearch-p9200:9200-p9300:9300-e"discovery.type=single-node"-eES_JAVA_OPTS="-Xms64m-Xmx512m"elasticsearch
2020-11-04 10:10 · Docker / ElasticSearch
[文章] 阳光沙滩博客系统-Elasticsearch实现文章搜索模块
准备Docker安装elasticsearch镜像查看我的另一篇文章添加依赖<dependency><groupId>org.springframework.boot</groupId
2020-11-04 08:25 · ElasticSearch / Docker
[文章] ElasticSearch安装以及相关操作
二.ElasticSearch安装2.1安装ES&Kibana图形化界面version:"3.1"services:elasticsearch:image:daocloud.io
2021-01-21 21:31 · ElasticSearch
[问答] elasticsearch 查询问题


前些天突然想学一下 solr 、拉大锯老师的课程中关于 solr 的教学我翻不到了,那我就索性去学 es 算了,然后在学习的过程中有一些问题让人很疑惑,我没有 solr 基础,es 也是这两天刚学 、搞得我脑壳疼


es / kibana 版本均为:7.6.1


这里我直接贴上代码:


# 创建库
put lw177777
{
  "mappings":{
    "properties":{
      "name":{
        "type":"keyword"
      },
      "desc":{
        "type":"text"
      }
    }
  }
}

# 插入数据
POST /lw177777/_doc/1
{
  "name":"我是wzf",
  "desc":"wzf_Java"
}

# 获取数据
get /lw177777/_search
{
  "query":{
    "match":{
      "desc":"wzf"
    }
  }
}


然后就有了如下问题 、我很疑惑为什么会搜不到 、 desc 字段类型是 text :



然后我把 term 换成 match 、其他代码不动就能查出来了 :



term 是精准匹配 那我传的 "wzf_Java" 这个值、是库里有的啊,咋会搜不出来呢


match 倒可以搜出来,我 tm 直接疑惑


match 去查 "wzf" 也查不出来了 、不应该是想SQL一样嘛


select * from lw1777 where desc like '%wzf%'




es 这个查询是基于 "ik分词器" 去进行分词检索的嘛 ? 自己组的单词虽然字段值有 ,但是分词库里没有还是照样查不出来


不像 mysql 一样可以模糊搜索 、感觉好难用啊!!


同学们是怎么理解这些的呢? 里面的逻辑是啥呀



2022-05-10 14:13 · elasticsearch
[文章] java微服务开发(基础环境篇)
其中Elasticsearch是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架。
2020-08-10 22:15 · 微服务 / docker / dockercompose / mysql / elk
[文章] elasticsearch关于文档的API操作
创建users实体//引入lombok<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>//引入fastjson<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.70</version></dependency>添加文档//添加文档@TestvoidtestAddDocument()throwsIOException{//1.创建对象Useruser=newUser("狂神说",23);//创建请求IndexRequestrequest=newIndexRequest("kuang_index");//规则put/kuang_index/_doc/1request.id("1");request.timeout(TimeValue.timeValueSeconds(1));request.timeout("1s");//将我们的数据放入请求json//把对象转化为jsonrequest.source(JSON.toJSONString(user),XContentType.JSON);//客户端发送请求,获取响应的结构IndexResponseindex=restHighLevelClient.index(request,RequestOptions.DEFAULT);System.out.println(index.toString());System.out.println(index.status());//对应我们命令返回的状态CREATED}2.判断是否存在//获取文档,先要判断是否存在@TestvoidtestIsExists()throwsIOException{GetRequestgetRequest=newGetRequest("kuang_index","1");//不获取返回的_source的上下文,这么做效率更高getRequest.fetchSourceContext(newFetchSourceContext(false));getRequest.storedFields("_none_");booleanexists=restHighLevelClient.exists(getRequest,RequestOptions.DEFAULT);System.out.println(exists);}3.获取文档信息//获取文档信息@TestvoidtestGetDocument()throwsIOException{GetRequestgetRequest=newGetRequest("kuang_index","1");GetResponsegetResponse=restHighLevelClient.get(getRequest,RequestOptions.DEFAULT);StringsourceAsString=getResponse.getSourceAsString();System.out.println(sourceAsString);//打印文档到的内容}4.更新文档信息//修改文档信息@TestvoidupdateDocument()throwsIOException{UpdateRequestupdateRequest=newUpdateRequest("kuang_index","1");updateRequest.timeout("1s");Useruser=newUser("狂神说java",18);updateRequest.doc(JSON.toJSONString(user),XContentType.JSON);UpdateResponseupdate=restHighLevelClient.update(updateRequest,RequestOptions.DEFAULT);System.out.println(update.status());//查看更新状态}5.删除文档信息//删除文档信息@TestvoiddeleteDocument()throwsIOException{DeleteRequestdeleteRequest=newDeleteRequest("kuang_index","1");DeleteResponsedelete=restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT);System.out.println(delete.status());//查看删除状态}6.批量操作//测试批量添加文档信息@TestvoidbulkDocument()throwsIOException{//创建批量操作对象BulkRequestbulkRequest=newBulkRequest();bulkRequest.timeout("10s");ArrayList<User>list=newArrayList<>();list.add(newUser("张三1",12));list.add(newUser("张三2",12));list.add(newUser("张三3",12));list.add(newUser("张三4",12));list.add(newUser("张三5",12));for(inti=0;i<list.size();i++){bulkRequest.add(newIndexRequest("kuang_index").id(""+(i+1)).source(JSON.toJSONString(list.get(i)),XContentType.JSON));}//发送请求BulkResponsebulk=restHighLevelClient.bulk(bulkRequest,RequestOptions.DEFAULT);System.out.println(bulk.hasFailures());//查看状态,是否失败,返回false代表成功}7.查询文档信息//测试查询文档信息//SearchRequest搜索请求//SearchSourceBuilder条件构造//HighlightBuilder构造高亮//TermQueryBuilder精确查询//MatchQueryBuilder匹配所有@Testvoidsearch()throwsIOException{//创建请求对象SearchRequestsearchRequest=newSearchRequest("kuang_index");//构造搜索条件SearchSourceBuildersearchSourceBuilder=newSearchSourceBuilder();//使用工具类构造搜索信息//查询条件,我们可以使用QueryBuilders工具来实现//QueryBuilders.termQuery精确//QueryBuilders.matchQuery()匹配所有MatchQueryBuildermatchQueryBuilder=QueryBuilders.matchQuery("name","张三1");searchSourceBuilder.query(matchQueryBuilder);searchRequest.source(searchSourceBuilder);//发送请求SearchResponsesearchResponse=restHighLevelClient.search(searchRequest,RequestOptions.DEFAULT);System.out.println(JSON.toJSONString(searchResponse.getHits()));//Hits对象就包含查询的各种信息System.out.println("--------------------------------------------------");for(SearchHitdocumentFields:searchResponse.getHits().getHits()){System.out.println(documentFields.getSourceAsMap());}结果:{"fragment":true,"hits":[{"fields":{},"fragment":false,"highlightFields":{},"id":"1","matchedQueries":[],"primaryTerm":0,"rawSortValues":[],"score":2.06728,"seqNo":-2,"sortValues":[],"sourceAsMap":{"name":"张三1","age":12},"sourceAsString":"{\"age\":12,\"name\":\"张三1\"}","sourceRef":{"fragment":true},"type":"_doc","version":-1},{"fields":{},"fragment":false,"highlightFields":{},"id":"2","matchedQueries":[],"primaryTerm":0,"rawSortValues":[],"score":0.49293762,"seqNo":-2,"sortValues":[],"sourceAsMap":{"name":"张三2","age":12},"sourceAsString":"{\"age\":12,\"name\":\"张三2\"}","sourceRef":{"fragment":true},"type":"_doc","version":-1},{"fields":{},"fragment":false,"highlightFields":{},"id":"3","matchedQueries":[],"primaryTerm":0,"rawSortValues":[],"score":0.49293762,"seqNo":-2,"sortValues":[],"sourceAsMap":{"name":"张三3","age":12},"sourceAsString":"{\"age\":12,\"name\":\"张三3\"}","sourceRef":{"fragment":true},"type":"_doc","version":-1},{"fields":{},"fragment":false,"highlightFields":{},"id":"4","matchedQueries":[],"primaryTerm":0,"rawSortValues":[],"score":0.49293762,"seqNo":-2,"sortValues":[],"sourceAsMap":{"name":"张三4","age":12},"sourceAsString":"{\"age\":12,\"name\":\"张三4\"}","sourceRef":{"fragment":true},"type":"_doc","version":-1},{"fields":{},"fragment":false,"highlightFields":{},"id":"5","matchedQueries":[],"primaryTerm":0,"rawSortValues":[],"score":0.49293762,"seqNo":-2,"sortValues":[],"sourceAsMap":{"name":"张三5","age":12},"sourceAsString":"{\"age\":12,\"name\":\"张三5\"}","sourceRef":{"fragment":true},"type":"_doc","version":-1}],"maxScore":2.06728,"totalHits":{"relation":"EQUAL_TO","value":5}}Hits对象中包含的是所有的查询结果信息,我们可以通过遍历想要的参数获得具体的信息。对于复杂查询的各种操作都可以在searchSourceBuilder对象的方法中找到对应的方法:
2020-10-01 11:50 · Springboot / elasticsearch
[文章] 博客系统后端完成(使用mybatis-plus和elasticsearch改写图片上传用了阿里云oss)
github:https://github.com/sang666/ok_blog-顺便求star!!!!!!!-手机登录没做,还有防止重复提交的也得自己加一下,具体位置自己看todo跑起来代码需要修改的地方
2020-08-12 11:49 · Java / 后端 / 博客
[文章] 浅谈离职和当前工作
接触的新技术也多了,kafka、Zookeeper、elasticsearch、PostgreSQL等;当然重点还是运维监控这一块。疫情期间,我休息了3个月,目前身体状态也好了很多,也很少熬夜了。
2022-06-19 16:58 · 运维 / 面试
[问答] 找人教我部署分布式单体项目上线(悬赏200元)
后端当然是用 Java 写的;


3、关于项目部署,我目前只会在虚拟机中安装 jdk、mysql、kafka、Docker; 在 Docker 中安装 redis、nacos、elasticsearch

2021-09-30 15:44 · 项目部署 / java / springCloud
[文章] 学习笔记-Docker
nameelasticsearch-p9200:9200-p9300:9300-e"discovery.type=single-node"-eES_JAVA_OPTS="-Xms256m-XMx512m"elasticsearch
2021-08-18 17:01 · Docker / Linux / 后台
  • 1