Apache Solr搜索引擎开发框架

这篇具有很好参考价值的文章主要介绍了Apache Solr搜索引擎开发框架。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为什么要学习搜索引擎开发框架

常见的搜索引擎框架:

1.Solr

2.ElasticSearch 搭建ELK环境(ElasticSearch+Logback+Kabana)实现日志系统的搭建

Solr是基于Apache Lucene构建的流行,快速,开源的企业搜索平台。

Solr具有高可靠性,可扩展性和容错性,可提供分布式索引,复制和负载均衡查询,自动故障转移和恢复,集中配置等。Solr为世界上许多最大的互联网站点的搜索和导航功能提供支持

Solr的使用

启动solr

Jetty服务器启动Solr(了解) 步骤:
进入solr-4.10.2/example目录
打开命令行,执行java –jar start.jar命令,即可启动Solr服务 

solr类似于jdbc

1.下载与安装

Apache Solr搜索引擎开发框架

第一步:首先在{solr_home}/server//solr/{democore}

第二步:下一步在solr目录下configsets/_default/conf将conf目录复制到democore下

然后通过管理控制页面创建democore表单正常填写

2.运行solr

2.Solr常用的命令

solr start -p 端口号 单机版启动solr五福

solr restart -p 端口号 重启solr服务

solr stop -p 端口号关闭solr服务

solr creat -c name 创建一个core实例(core概念后面介绍)

创建core的核心介绍

第四步:简单说core就是solr的一个实例,一个solr服务下可以有多个core,每个core下都有自己的索引库和与之相应的配置文件,所以在操作solr创建索引之前要创建一个core,因为索引都存在core下面

第五步:将mysql数据库使用的jar包 和 solr\dis\solr-dataimporthandler-7.7.0.jar 复制到 solr webapp\webinf\lib\下

3.创建core实例

1.创建核心准备工作

2.创建核心

4.配置schema

4.1 schema主要成员

4.2 添加索引字段

4.3 配置中文分词器

ext.dic词库文件

IKAnalyzer.cfg.xml配置文件

ik-analyzer-solr5-5.x.jar、solr-analyzer-ik-5.1.0.jar核心jar文件

stopword.dic停用词库

2.将D:\Solr7.7\ikanalyzer-solr5两个jar包复制到该路径下:D:\Solr7.7\solr-7.7.0\server\solr-webapp\webapp\WEB-INF\lib

3.另外将三个配置文件复制到该路径下:D:\Solr7.7\solr-7.7.0\server\solr-webapp\webapp\WEB-INF\classes 如果没有classes文件夹就手动创建一个新的,将ext.dic、IKAnalyzer.cfg.xml、stopword.dic放到classes文件夹中

测试分词器:

Apache Solr搜索引擎开发框架

五:DatalmoprtHandler(DIH)导入索引数据(以mysql为例)

导入mysql数据handler

在D:\Solr7.7\solr-7.7.0\server\solr\democore\conf目录下编辑solrconfig.xml/select上方加入下面代码:在此文件的694行

my-data-config.xml

数据入库

Apache Solr搜索引擎开发框架

六:Solr(java客户端)

6.1 导入pom

<dependency> 
<groupId>org.apache.solr</groupId>
 <artifactId>solr-solrj</artifactId> 
<version>7.4.0</version> 
</dependency> 
或
 <dependency> 
<groupId>org.apache.solr</groupId>
 <artifactId>solr-solrj</artifactId>
 <version>7.5.0</version> 
</dependency>
两个版本

6.2编写model

6.3写测试代码(4.0版本)

public static void main(String[] args) {
 try { //1.创建Solr服务的http请求 HttpSolrClient.Builder builder=new            HttpSolrClient.Builder("http://localhost:8983/solr/democore").withConnectionTimeout(10000);
 //2.创建solr连接客户端 
HttpSolrClient client=builder.build();
 //3.构建solr查询 
SolrQuery query=new SolrQuery("*:*"); 
//4.设置查询显示列 query.setFields("id","proname","count","createdate");
 //5.查询 QueryResponse response=client.query(query); 
//6.提取查询结果集 SolrDocumentList list=response.getResults();
 //7.循环遍历结果集 System.out.println(list.getNumFound()); 
for (SolrDocument entries : list) { System.out.println(entries.getFieldValue("id")+"----"+entries.getFieldValue("proname") +"----"+entries.getFieldValue("count")+"----"+entries.getFieldValue("createdate")); } //8.关闭连接 
client.close(); 
}catch (SolrServerException e){
 e.printStackTrace(); 
}catch (IOException ex)
{ ex.printStackTrace(); 
}
}

//4.设置查询显示列
 query.setFields("id","proname","count"); 
//设置条件查询 
query.set("q","proname:2022");
 //排序
 query.addSort("id",SolrQuery.ORDER.desc); 
//分页查询
 query.setStart(0); 
query.setRows(5);
 //5.查询
 QueryResponse response=client.query(query);

所用工具:IKAnalyzer中文分词器:一个第三方分词器

Solr增量配置

第一步:准备jar包将solr-data-import-scheduler.jar jar包放在D:\Solr7.7\solr-7.7.0\server\solr-webapp\webapp\WEB-INF\lib

第二步:修改web.xml文件

D:\Solr7.7\solr-7.7.0\server\solr-webapp\webapp\WEB-INF

打开web.xml文件,添加监听器配置:

<listener> <listener-class>org.springframework.context.ApplicationListener</listener-class> </listener>

第三步:增加dataimport.properties配置

在D:\Solr7.7\solr-7.7.0\server\solr-webapp\webapp\WEB-INF\lib下添加

Apache Solr搜索引擎开发框架文章来源地址https://www.toymoban.com/news/detail-449897.html

到了这里,关于Apache Solr搜索引擎开发框架的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【搜索引擎Solr】配置 Solr 以获得最佳性能

    Apache Solr 是广泛使用的搜索引擎。有几个著名的平台使用 Solr;Netflix 和 Instagram 是其中的一些名称。我们在 tajawal 的应用程序中一直使用 Solr 和 ElasticSearch。在这篇文章中,我将为您提供一些关于如何编写优化的 Schema 文件的技巧。我们不会讨论 Solr 的基础知识,我希望您了解

    2024年02月16日
    浏览(40)
  • 搜索引擎 ElasticSearch, Solr 简介

    作者:禅与计算机程序设计艺术 搜索引擎的功能就是帮助用户快速检索到需要的信息。搜索引擎通常由两个主要组成部分:查询解析器和索引器。查询解析器负责将用户输入的查询文本转换成可以搜索的形式;而索引器则是对网页、文档或者其他信息进行索引并存储在数据库

    2024年01月19日
    浏览(40)
  • 优化记录 -- 记一次搜索引擎(SOLR)优化

    某服务根据用户相关信息,使用搜索引擎进行数据检索 solr 1台:32c 64g 数据10gb左右,版本 7.5.5 应用服务器1台:16c 64g 应用程序 3节点 1、因业务系统因处理能不足,对业务系统硬件平台进行升级,升级变更为 16c64g — 32c64g 增加 16c 2、业务系统升级,处理能力增加,对原搜索引

    2024年02月05日
    浏览(64)
  • Solr在搜索引擎中的用户体验优化

    作者:禅与计算机程序设计艺术 引言 1.1. 背景介绍 搜索引擎是互联网时代最为基础的应用之一,对于用户体验的要求也越来越高。搜索引擎的性能与稳定性、搜索结果的准确性和多样性、搜索结果的相关性等方面都会影响着用户的体验。而Solr是一款高性能、可扩展、易于使

    2024年02月13日
    浏览(55)
  • 高可用的搜索引擎:Elasticsearch与Solr对比

    搜索引擎是现代互联网的基石,它使得我们可以在海量数据中快速找到所需的信息。高可用性是搜索引擎的核心需求,因为用户对于搜索结果的实时性和准确性有很高的要求。Elasticsearch和Solr是两个流行的搜索引擎,它们各自具有独特的优势和特点。在本文中,我们将对比这

    2024年02月20日
    浏览(39)
  • Lucene轻量级搜索引擎,Solr 和 ElasticSearch 都是基于 Lucene 的封装

    1、Lucene 是什么 Lucene 是一个本地全文搜索引擎,Solr 和 ElasticSearch 都是基于 Lucene 的封装 Lucene 适合那种轻量级的全文搜索,我就是服务器资源不够,如果上 ES 的话会很占用服务器资源,所有就选择了 Lucene 搜索引擎 2、倒排索引原理 全文搜索的原理是使用了倒排索引,那么什么是倒

    2024年03月15日
    浏览(72)
  • Lucene轻量级搜索引擎,真的太强了!!!Solr 和 ES 都是基于它

    Lucene 是一个本地全文搜索引擎,Solr 和 ElasticSearch 都是基于 Lucene 的封装 Lucene 适合那种轻量级的全文搜索,我就是服务器资源不够,如果上 ES 的话会很占用服务器资源,所有就选择了 Lucene 搜索引擎 全文搜索的原理是使用了倒排索引,那么什么是倒排索引呢? 先通过中文分词器,将文

    2024年03月11日
    浏览(67)
  • 《Spring Boot 实战派》--13.集成NoSQL数据库,实现Elasticsearch和Solr搜索引擎

             关于搜索引擎 我们很难实现 Elasticseach 和 Solr两大搜索框架的效果;所以本章针对两大搜索框架,非常详细地讲解 它们的原理和具体使用方法, 首先 介绍什么是搜索引擎 、如何用 MySQL实现简单的搜索引擎,以及Elasticseach 的 概念和接口类; 然后介绍Elasticseach

    2023年04月09日
    浏览(91)
  • Lucene和Solr和Elasticsearch区别,全文检索引擎工具包Lucene索引流程和搜索流程实操

    我们生活中的数据总体分为两种: 结构化数据和非结构化数据 。 结构化数据 :指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据 :指不定长或无固定格式的数据,如 互联网数据、邮件,word文档等。 非结构化数据又有一种叫法叫全文数据 按照数据的

    2024年02月03日
    浏览(43)
  • 为什么选择elasticsearch分布式搜索引擎

    elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 例如: 在CSDN上搜索代码 在电商网站搜索商品 在百度搜索答案 elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛应用在日志数据分析、实时监

    2024年02月12日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包