跳过正文

ElasticSearch

6、抓取数据
·299 字·1 分钟· loading · loading
Java 组件与中间件 ElasticSearch
常用的抓取数据的姿势 # 姿势1:HTMLParser 姿势2:HttpClient 姿势3:Jsoup Jsoup # 1、添加依赖 # <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.13.1</version> </dependency> 2、代码 # @Test public void test5() throws Exception { String url = "https://kns.cnki.net/kcms/detail/detail.aspx?dbcode=CJFD&dbname=CJFDAUTODAY&filename=SAHG202109022&uniplatform=NZKPT"; //解析资源路径,设置超时时间30秒 //此方法生成一个Document对象,可以按照前端方式进行操作 Document doc = Jsoup.parse(new URL(url), 30000); //获取标题 Element element = doc.getElementsByClass("wx-tit").get(0); String title = element.child(0).text(); System.out.println("标题:" + title); //获取摘要 Element chDivSummary = doc.getElementById("ChDivSummary"); String digest = chDivSummary.text(); System.out.println("摘要:" + digest); //获取关键字 Element keywords = doc.getElementsByClass("keywords").get(0); int num = keywords.childNodeSize(); String keyword = ""; for (int i = 0; i < num; i++) { keyword += keywords.child(i).text(); } System.out.println("关键字:" + keyword); }
5、Analysis分词器
·752 字·2 分钟· loading · loading
Java 组件与中间件 ElasticSearch
中文分词器 # 分词,一定是建立在创建“倒排索引”之前。ES将字符串划分为2种类型:Keyword和Text
4、ES的查询
·1335 字·3 分钟· loading · loading
Java 组件与中间件 ElasticSearch
term查询 # term query: 会去倒排索引中寻找确切的term,它并不知道分词器的存在。这种查询适合keyword 、numeric、date term:查询某个字段为该关键词的文档(它是相等关系而不是包含关系) term是代表完全匹配,即不进行分词器分析,必须全值匹配。查询不会对查询的字段进行分词查询,会采用精确匹配 可以用它处理数字(numbers)、布尔值(Booleans)、日期(dates)以及文本(text) 语法 # 如果字段类型为text,那么在插入的时候就会被分词,如果使用term查询的话,那么无法命中
3、ES的使用
·3156 字·7 分钟· loading · loading
Java 组件与中间件 ElasticSearch
在ES7.0之后,types_name只可以写_doc 方式一:RestFul访问 # 在浏览器或PostMan中进行访问,注意选择请求的methods
2、ELK安装
·541 字·2 分钟· loading · loading
Java 组件与中间件 ElasticSearch
ELK # ELK是ElasiticSearch+LogStash+Kibana的三合一版本
1、ElasticSearch
·2359 字·5 分钟· loading · loading
Java 组件与中间件 ElasticSearch
全文检索 # MySQL存储数据时,采用表格的方式(行和列)的方式来进行存储 Redis存储数据时,采用K-V结构的方式来进行存储 当数据量非常庞大时(T,P级),提升查询效率 需求 # 说:Redis简单,知道Key就可以,但如果其他人问你说我不知道Key,我只是知道大概的值,如何提升效率?