Elasticsearch入门

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   建立通信

你可能感兴趣的:(SpringBoot,搜索引擎,百度,java,elasticsearch,ajax)