solr简介——(九)
下载: http://archive.apache.org/dist/lucene/solr/
1.什么是solr
Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中,Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr根据xml文档添加、删除、更新索引 。Solr 搜索只需要发送 HTTP GET 请求,然后对 Solr 返回Xml、json等格式的查询结果进行解析,组织页面布局。Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。
2.solr与lucene区别
Lucene是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,Lucene提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者以Lucene为基础构建全文检索引擎。
Solr的目标是打造一款企业级的搜索引擎系统,它是一个搜索引擎服务,可以独立运行,通过Solr可以非常快速的构建企业的搜索引擎,通过Solr也可以高效的完成站内搜索功能。
3.原理图:
4.目录结构:
bin:solr的运行脚本
contrib:solr的一些贡献软件/插件,用于增强solr的功能。
dist:该目录包含build过程中产生的war和jar文件,以及相关的依赖文件。
docs:solr的API文档
example:solr工程的例子目录:
l example/solr:
该目录是一个包含了默认配置信息的Solr的Core目录。
l example/multicore:
该目录包含了在Solr的multicore中设置的多个Core目录。
l example/webapps:
该目录中包括一个solr.war,该war可作为solr的运行实例工程。
licenses:solr相关的一些许可信息
5.运行环境
6. 使用自带的jetty容器启动solr服务
(1)进入到example目录,目录结构如下:
读取README.txt里面的内容也可以知道如何启动:
Solr example ------------ This directory contains an instance of the Jetty Servlet container setup to run Solr using an example configuration. To run this example: java -jar start.jar in this example directory, and when Solr is started connect to http://localhost:8983/solr/ To add documents to the index, use the post.jar (or post.sh script) in the example/exampledocs subdirectory (while Solr is running), for example: cd exampledocs java -jar post.jar *.xml Or: sh post.sh *.xml For more information about this example please read... * example/solr/README.txt For more information about the "Solr Home" and Solr specific configuration * http://lucene.apache.org/solr/tutorial.html For a Tutorial using this example configuration * http://wiki.apache.org/solr/SolrResources For a list of other tutorials and introductory articles. Notes About These Examples -------------------------- * SolrHome * By default, start.jar starts Solr in Jetty using the default Solr Home directory of "./solr/" (relative to the working directory of hte servlet container). To run other example configurations, you can specify the solr.solr.home system property when starting jetty... java -Dsolr.solr.home=multicore -jar start.jar java -Dsolr.solr.home=example-DIH/solr -jar start.jar * References to Jar Files Outside This Directory * Various example SolrHome dirs contained in this directory may use "<lib>" statements in the solrconfig.xml file to reference plugin jars outside of this directory for loading "contrib" plugins via relative paths. If you make a copy of this example server and wish to use the ExtractingRequestHandler (SolrCell), DataImportHandler (DIH), UIMA, the clustering component, or any other modules in "contrib", you will need to copy the required jars or update the paths to those jars in your solrconfig.xml. * Logging * By default, Jetty & Solr will log to the console a logs/solr.log. This can be convenient when first getting started, but eventually you will want to log just to a file. To configure logging, edit the log4j.properties file in "resources". It is also possible to setup log4j or other popular logging frameworks.
(2)接下来以 java -jar 的方式启动:
java -jar .\start.jar
(3)浏览器访问主页即可测试:
注意:
(1)solr服务内嵌的jetty服务器端口可以修改:
修改example/etc/jetty.xml文件,对jetty进行优化也是修改这个文件
(2)solr服务产生的日志也可以查看:
日志文件在:example\logs\solr.log
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了