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

 

posted @   QiaoZhi  阅读(322)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示