Elasticsearch入门
概念
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful
web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache
Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache
Solr,也是基于Lucene。
————摘自百度百科
下载安装
如果在官网下载较慢,也可私信我!
官方网站
https://www.elastic.co/cn/elasticsearch/
windows版本:
①elasticsearch-7.x.x-windows-x86_64.zip —— 主程序
②elasticsearch-head-master.zip ——————- 图形界面
③elasticsearch-analysis-ik-7.x.x.zip ————– ik分词器
④kibana-7.x.x-windows-x86_64.zip ————– 编辑界面
以上都是直接解压即可!
爬虫爬数据
数据从哪来?数据库获取,消息队列中获取,爬虫获取!
爬取数据:(获取请求返回的页面信息,筛选出我们想要的数据)
导入依赖jsoup包
爬东西的工具类,拿走不谢!
package com.liuqc.utils;
import com.liuqc.pojo.Content;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
@Component
public class HtmlParseUtil {
public static void main(String[] args) throws IOException {
new HtmlParseUtil().parseJD("hello").forEach(System.out::println);
}
public List<Content> parseJD(String keywords) throws IOException {
//获取请求 https://search.jd.com/Search?keyword=java
//联网,不能获取ajax,得模拟浏览器
String url = "https://search.jd.com/Search?keyword="+keywords;
//解析网页 (Jsoup返回Document就是浏览器Document(js页面)对象)
Document document = Jsoup.parse(new URL(url), 30000);
//所有你在js里使用的方法这里都能用
Element element = document.getElementById("J_goodsList");
// System.out.println(element.html());
//获取所有的li元素
Elements elements = element.getElementsByTag("li");
ArrayList<Content> goodsList = new ArrayList<>();
//获取元素中的内容,这里的el就是每一个li标签
for (Element el : elements) {
//关于这种图片特别多的网站,所有的图片是延迟加载的
//source-data-lazy-img
String img = el.getElementsByTag("img").eq(0).attr("data-lazy-img");
String price = el.getElementsByClass("p-price").eq(0).text();
String title = el.getElementsByClass("p-name").eq(0).text();
Content content = new Content();
content.setTitle(title);
content.setPrice(price);
content.setImg(img);
goodsList.add(content);
}
return goodsList;
}
}
下载vue
可以用cdn
也可用命令
npm install vue
npm install axios 建立通信