25对Solr的思考

简介: 25对Solr的思考

写完文章后对Solr不是有一个很清晰的认识,所以问了一下同事,实际开发中的solr是怎样的。下面从京东商城举个例子来记录下。

打开京东商城,输入“零食”两个字,会展示出如下内容:

会查询的各种各样的零食,为什么会这么快就查询出来呢?

如果直接查询数据库,使用LIKE的操作,那该多久才查出来。其实这里使用到了类似于solr的技术。

可以这样去思考,如下图:

20190510184452445_.png

在用户上传商品的时候,会上传图片,标题内容,详细内容等。可以看成是如下格式:

public class Prudct{
  private String imageUrl;
  private String title;
  private String content;
  setter ...
  gettter...
}

用户上传商品的时候,会先把内容解析,并插入数据库(MySQL或Oracle等);

此时还要插入Solr,并生成索引。插入之前要在scheme.xml里添加上面的字段:

然后使用代码添加到solr,使用方法addField:

//    1、获取solr的服务器 用于连接solr项目
    SolrServer solrServer = new HttpSolrServer("http://localhost:8080/solr/collection1");
//    2、执行solrServer的添加方法
    SolrInputDocument doc = new SolrInputDocument();
    doc.addField("imageUrl", "https://item.jd.com/3924063.html");
    doc.addField("title", "京东超市良品铺子高端零食 鸭肉大礼.。。。。。;
    doc.addField("content", "鸭脖鸭掌肉类零食大礼包一整箱490g*1 【限时下单立减10元】【吃货节狂欢专场】【进店抢爆款第2件1元】戳我抢!抢!抢!。。。。。。");
    solrServer.add(doc);
    solrServer.commit();

这样就添加到了solr,下次用户查询“零食”的时候,会直接访问solr,直接就能快速获取到了零食的相关内容了。

目录
相关文章
|
7月前
|
搜索推荐 Java 应用服务中间件
【solr】安装和使用
【solr】安装和使用
42 1
|
XML JSON 搜索推荐
和 Solr 对比|学习笔记
快速学习和 Solr 对比。
109 0
|
XML 存储 JSON
和 Solr 对比 | 学习笔记
快速学习和 Solr 对比
|
自然语言处理 Java 关系型数据库
Solr
Solr是一个全文检索服务器
646 0
|
XML 缓存 自然语言处理
Solr 的作用,为什么要用solr服务,
Solr 的作用,为什么要用solr服务,
289 0
|
关系型数据库 Java 应用服务中间件
solr7安装(1)
安装和配置solr
3236 0
|
Java Perl 自然语言处理
|
自然语言处理 Java Apache
|
搜索推荐 Java UED
|
Java 应用服务中间件 关系型数据库