上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 57 下一页
摘要: boosting 查询可以帮助我们去影响查询后的 score - positive:只有匹配上positive的查询的内容,才会被放到返回的结果中 - negative:如果匹配上和positive并且也匹配上了negative,就可以降低这样的文档 score. - negative_boost:指定系数,必须小于 1.0 关于查询时,分数是如何计算的: - 搜索的关键字在文档中出现的频次越高,分数就越高 - 指定的文档内容越短,分数就越高 - 我们在搜索时,指定的关键字也会被分词,这个被分词的内容,被分词库匹配的个数越多,分数越高 阅读全文
posted @ 2023-03-16 09:55 VipSoft 阅读(372) 评论(0) 推荐(0)
摘要: delete-by-query 根据 term、match 等查询方式去删除大量的文档 > 如果需要删除的内容,是index下的大部分数据,不建议使用,因为去匹配文档时还是一个一个的拿到文档ID,去删除 推荐创建一个全新的index,将保留的文档内容,添加到全新的索引中 阅读全文
posted @ 2023-03-15 13:04 VipSoft 阅读(280) 评论(0) 推荐(0)
摘要: ES 对 from + size 有限制,两者之和不能超过1W Scroll查询方式,不适合做实时的查询,每次都是从数据文档中的ID去获取,效果高了,但文档中的ID(第二步)不是实时更新的,一般后台管理的方式用 Scroll 比较方便 阅读全文
posted @ 2023-03-14 15:16 VipSoft 阅读(438) 评论(0) 推荐(0)
摘要: fuzzy查询:模糊查询,我们输入字符的大概,ES就可以 wildcard 查询:通配查询,和MySQL中的 like 差不多,可以在查询时,在字符串中指定通配符 * 和占位符? range 查询:范围查询,只针对数值类型,对某一个Field进行大于或小于的范围指定查询 regexp 查询: 正则查询,通过你编写的正则表达式去匹配内容 阅读全文
posted @ 2023-03-14 09:05 VipSoft 阅读(520) 评论(0) 推荐(0)
摘要: match查询属于高层查询,他会根据你查询的字段类型不一样,采用不同的查询方式。 - 查询的是日期或者是数值的话,他会将你基于的字符串查询内容转换为日期或者数值对待。 - 如果查询的内容是一个不能被分词的内容 (keyword) ,match查询不会对你指定的查询关键字进行分词。 - 如果查询的内容时一个可以被分词的内容 (text),match会将你指定的查询内容根据一定的方式去分词,去分词库中匹配指定的内容。 match查询,实际底层就是多个term查询,将多个term查询的结果给你封装到了一起 阅读全文
posted @ 2023-03-13 08:47 VipSoft 阅读(784) 评论(0) 推荐(1)
摘要: term 查询 term的查询是代表完全匹配,搜索之前不会对你搜索的关键字进行分词,对你的关键字去文档分词库中的去匹配内容 terms和term的查询机制是一样,都不会将指定的查询关键字进行分词,直接去分词库中匹配,找到相应文档内容。 terms是在针对一个字段包含多个值的时候使用。 term: where province = 江苏 terms: where province = 江苏 or province = ? or province = ? 阅读全文
posted @ 2023-03-10 08:44 VipSoft 阅读(792) 评论(0) 推荐(1)
摘要: String json = JSON.toJSONStringWithDateFormat(sms, "yyyy-MM-dd HH:mm:ss"); FastJson 将日期格式化 BulkRequest bulkRequest = new BulkRequest(); Integer idx = 1; for (String json : jsonList) { IndexRequest request = new IndexRequest(indexName) .id(idx.toString()) //手动指定ID .source(json, XContentType.JSON); bulkRequest.add(request); idx++; } 阅读全文
posted @ 2023-03-09 09:04 VipSoft 阅读(437) 评论(0) 推荐(0)
摘要: //准备一个Request对象 IndexRequest request = new IndexRequest(indexName); request.id(person.getId().toString()); //手动指定ID request.source(personJson, XContentType.JSON); //通过 Client 对象执行添加 IndexResponse resp = client.index(request, RequestOptions.DEFAULT); 阅读全文
posted @ 2023-03-08 08:57 VipSoft 阅读(915) 评论(0) 推荐(0)
摘要: //1. 准备索引的 settings Settings.Builder settings = Settings.builder() //2. 准备索引的结构 Mappings XContentBuilder mappings = JsonXContent.contentBuilder() //3. 将 Settings 和 Mappings 封装到一个Request 对象中 CreateIndexRequest request = new CreateIndexRequest(indexName) //4. 通过 client 对象去连接ES并执行创建索引 CreateIndexResponse resp = client.indices().create(request, RequestOptions.DEFAULT); 阅读全文
posted @ 2023-03-07 08:46 VipSoft 阅读(841) 评论(0) 推荐(0)
摘要: GET 请求: ``` http://ip:port/index: 查询索引信息 http://ip;port/index/type/doc_id: 查询指定的文档信息 ``` POST 请求: ``` http://ip;port/index/type/_search: 查询文档,可以在请求体中添加json字符串来代表查询条件 http://ip;port/index/type/doc_id/_update: 修改文档,在请求体中指定ison字符串代表修改的具体信息 ``` PUT 请求: ``` http://ip;port/index: 创建一个索引,需要在请求体中指定索引的信息,类型,结构 http://ip:port/index/type/_mappings: 代表创建索引时,指定索引文档存储的属性的信息 ``` DELETE 请求: ``` http://ip;port/index: 删除跑路 http://ip;port/index/type/doc_id: 删除指定的文档 阅读全文
posted @ 2023-03-06 08:50 VipSoft 阅读(450) 评论(0) 推荐(1)
摘要: 先把zip下载下来。放到任意一台服务器(直接github上下载多数会失败)elasticsearch-plugin install http://172.16.0.183:8899/Java/elasticsearch-analysis-ik-7.9.3.zip 阅读全文
posted @ 2023-03-03 16:47 VipSoft 阅读(1192) 评论(0) 推荐(0)
摘要: ES 是一个使用Java语言并且基于Lucene编写的搜索引擎框架,他提供了分布式的全文搜索功能,提供了一个统一的基于Restful风格的WEB接口,官方客户端也对多种语言都提供了相应的API。 阅读全文
posted @ 2023-03-03 09:20 VipSoft 阅读(1316) 评论(0) 推荐(1)
摘要: RocketMQ的消费方式包含Pull和Push两种 Pull方式:用户主动Pull消息,自主管理位点,可以灵活地掌控消费进度和消费速度,适合流计算、消费特别耗时等特殊的消费场景。缺点也显而易见,需要从代码层面精准地控制消费,对开发人员有一定要求。 在 RocketMQ 中org.apache.ro 阅读全文
posted @ 2023-03-02 08:56 VipSoft 阅读(484) 评论(0) 推荐(0)
摘要: RocketMQ设计了远程位点管理和本地位点管理两种位点管理方式。集群消费时,位点由客户端提交给Broker保存,具体实现代码在RemoteBrokerOffsetStore.java文件中;广播消费时,位点保存在消费者本地磁盘上,实现代码在LocalFileOffsetStore.java文件中 阅读全文
posted @ 2023-03-01 08:57 VipSoft 阅读(362) 评论(0) 推荐(0)
摘要: 客户端是通过Rebalance服务做到高可靠的。当发生Broker掉线、消费者实例掉线、Topic 扩容等各种突发情况时,消费者组中的消费者实例是怎么重平衡,以支持全部队列的正常消费的呢? RebalancePullImpl 和 RebalancePushImpl 两个重平衡实现类,分别被 Defa 阅读全文
posted @ 2023-02-28 08:47 VipSoft 阅读(175) 评论(0) 推荐(0)
摘要: RocketMQ客户端中有两个独立的消费者实现类:org.apache.rocketmq.client.consumer.DefaultMQPullConsumer 和 org.apache.rocketmq.client.consumer.DefaultMQPushConsumer Default 阅读全文
posted @ 2023-02-24 08:46 VipSoft 阅读(631) 评论(0) 推荐(0)
摘要: 消费流程 消费者组: 一个逻辑概念,在使用消费者时需要指定一个组名。一个消费者组可以订阅多个Topic。 消费者实例: 一个消费者组程序部署了多个进程,每个进程都可以称为一个消费者实例。 订阅关系: 一个消费者组订阅一个 Topic 的某一个 Tag,这种记录被称为订阅关系。RocketMQ规定消费 阅读全文
posted @ 2023-02-23 09:49 VipSoft 阅读(661) 评论(0) 推荐(0)
摘要: 相对消费者而言,生产者的使用更加简单,一般关注消息类型、消息发送方法和发送参数,即可正常使用RocketMQ发送消息 常用消息类型 | 消息类型 | 优点 | 缺 点 | 备注 | | | | | | | 普通消息(并发消息) | 性能最好。单机TPS的级别为100 000 | 消息的生产和消费都无 阅读全文
posted @ 2023-02-22 09:20 VipSoft 阅读(180) 评论(0) 推荐(0)
摘要: RocketMQ客户端的消息发送通常分为以下3层 业务层:通常指直接调用RocketMQ Client发送API的业务代码。 消息处理层:指RocketMQ Client获取业务发送的消息对象后,一系列的参数检查、消息发送准备、参数包装等操作。 通信层:指RocketMQ基于Netty封装的一个RP 阅读全文
posted @ 2023-02-21 09:02 VipSoft 阅读(401) 评论(0) 推荐(1)
摘要: 生产者启动流程 DefaultMQProducer是RocketMQ中默认的生产者实现 核心属性: namesrvAddr: 继承自 ClientConfig,表示 RocketMQ 集群的Namesrv 地址,如果是多个则用分号分开。比如:127.0.0.1:9876;127.0.0.2:9876 阅读全文
posted @ 2023-02-20 09:21 VipSoft 阅读(288) 评论(0) 推荐(0)
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 57 下一页