对
solr1.4版本
-
准备
下载地址
:http://lucene.apache.org/solr
最新源码下载地址
:https://svn.apache.org/repos/asf/lucene/dev/trunk
源码使用说明
,使用
ant构建
,
命令
:ant
test 用于跑单元测试
ant
dist 用于
build,将会生成
jar和
war包
ant example
创建一个可运行的示例
.
ant clean 清理项目
ant run-example
创建并运行该示例
.
ant
generate-maven-artifacts 创建一个
maven的构件
ant package
创建
zip, tgz包和
maven构件
.
ant
luke 启动
luke. see:
http://www.getopt.org/luke/
2
.
目录结构说明
•
build: built结束后的存放目录
.
•
client:
包含一些特定的语言
APIs,可以直接访问
Solr.其实你可以多种语言
,比如
Ruby或者
java(SolrJ)通过
HTTP发送
XML给
Solr服务器
.
•
dist: 包含了
built的
Solr
JAR和
WAR文件和各种组件包
• example:
这是一个安装了
Jetty
servlet引擎
,包括一些示例数据和
Solr的配置。目录结构如下
:
° example/etc:
Jetty的配置文件及其它
.
° example/multicore:
Solr多核的设置
.
° example/solr:
默认人
solr主目录
° example/webapps:
Solr的W
eb项目服务目录。默认服务端口为:
8983
• lib: 依赖包。
• site: 管理发布的
Solr网站
• src: 源代码
,其中包括如下
:
° src/java:
Solr的
JAVA源代码
.
° src/scripts: Unix
bash脚本
, particularly useful
° src/solrj:
Solr的
java客户端
.
° src/test:
Solr的
test源代码和
test文件
.
° src/webapp: Solr的
web
administration配置界面
,包括
Java
Servlets和
JSPs.其实就是
war文件的组成结构
,
其中
web/admin/是做为一个
admin用户的界面
,如果需要
,你可以修改相应的文件
.
3. solr主目录说明
其实这里主要说明下
solr的配置文件和数据文件
,基于多核的配置可以参考
conf/multicore.xml
• bin: 建议放置
Solr复制脚本
• conf:
配置文件
.其中两个配置文件比较重要
.
• conf/schema.xml:
做为预期定义的索引字段
schema的定义
.http://localhost:8983/solr/admin/
•
conf/solrconfig.xml: Solr主配置文件
• conf/xslt:
这个目录使用
XSLT文件来配置
Solr返回的
XML的查询结果格式
,格式如
Atom/RSS.
• data:
包含实际
Lucene索引数据
.其实也可以是一个
link文件夹
.
• lib: 信赖包和
war包
.
4. solr环境变量设置
1) 可以设置
solr.solr.home=%solr安装目录
%
2) 可以在
solr的
home目录下执行
cd
example
java
-jar start.jar
如果只有一个
core,你可以访问
http://localhost:8983/solr/admin/
5.
solr快速学习.
说明
:
•
SCHEMA:
直接下载
schema配置文件
(XML)
• CONFIG: 指定选择
SCHEMA,
这是
Solr的主配置
.
• ANALYSIS:
这个可以诊断在查询
/索引时的问题
.同样也可以分析查询文本
,将会有一个分词器一样的屏幕
• SCHEMA BROWSER:
这个是查询由于不同的
schema而表现出不同的数据和索引
• STATISTICS:
这是响应时间和命中率的一个统计信息
.其中包含你的索引里有多少文件
(numDocs),在什么目录
(readerDir)
,注意其中有一个
maxDocs表示已经索引到的
document数量
,但有的时候是跟
numDocs是样的
,有的时候不一样
,这主要是
maxDocs可能是以前的数据
,如果执行
update后
,他会变成实际数量
.还有
关于何时加载索引以及索引中有多少文档的信息,
关于用来服务查询的
SolrRequestHandler
的有用信息。
涵盖索引过程的数据,包括添加、删除、提交等的数量。
缓存实现和
hit/miss/eviction
信息
等等.
• INFO: 内部版本的基本信息,
p { margin-bottom: 0.21cm; }有关正在运行的
Solr
的版本以及在当前实现中进行查询、更新和缓存所使用的类的详细信息。此外,还包括文件存于
Solr
subversion
存储库的何处的信息以及对该文件功能的一个简要描述。
• DISTRIBUTION:
这里是查看分布式
/复制信息
,以后会讲到
.
• PING:
p { margin-bottom: 0.21cm; }向服务器发出
ping
请求,包括在
solrconfig.xml
文件的
admin
部分定义的请求
,用于检查在分布式过程当中出现的错误
.
• LOGGING: 日志配置信息
,可以配置每个不同组件的日志输出级别
.
•
JAVA PROPERTIES: p { margin-bottom: 0.21cm; }显示当前系统正在使用的所有
Java
系统属性
• THREAD DUMP: 显示
java线程
,在
java开发者调试时非常有用
FULL INTERFACE:
高级查询或者多条件查询
,提供更加丰富细致的查询输入接口
.
6.
加载示例数据
所在目录
:example/exampledocs
,命令如下
:
exampledocs$
java -jar post.jar *.xml
以
monitor.xml
为例
:
<add><doc>
<field name="id">3007WFP</field>
<field name="name">Dell Widescreen UltraSharp 3007WFP</field>
<field name="manu">Dell, Inc.</field>
<field name="cat">electronics</field>
<field name="cat">monitor</field>
<field name="features">30" TFT active matrix LCD, 2560 x 1600, .25mm dot pitch, 700:1 contrast</field>
<field name="includes">USB cable</field>
<field name="weight">401.6</field>
<field name="price">2199</field>
<field name="popularity">6</field>
<field name="inStock">true</field>
</doc></add>
咱们可以做一个查询
:比如查询文本
monitor,则会显示如下结果
:
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">2</int>
<lst name="params">
<str name="indent">on</str>
<str name="rows">10</str>
<str name="start">0</str>
<str name="q">monitor</str>
<str name="version">2.2</str>
</lst>
</lst>
<result name="response" numFound="2" start="0">
<doc>
<arr name="cat">
<str>electronics</str>
<str>monitor</str>
</arr>
<arr name="features">
<str>
19" TFT active matrix LCD, 8ms response time, 1280 x 1024 native resolution
</str>
</arr>
<str name="id">VA902B</str>
<bool name="inStock">true</bool>
<str name="manu">ViewSonic Corp.</str>
<str name="name">ViewSonic VA902B - flat panel display - TFT - 19"</str>
<int name="popularity">6</int>
<float name="price">279.95</float>
<float name="weight">190.4</float>
</doc>
<doc>
<arr name="cat">
<str>electronics</str>
<str>monitor</str>
</arr>
<arr name="features">
<str>
30" TFT active matrix LCD, 2560 x 1600, .25mm dot pitch, 700:1 contrast
</str>
</arr>
<str name="id">3007WFP</str>
<bool name="inStock">true</bool>
<str name="includes">USB cable</str>
<str name="manu">Dell, Inc.</str>
<str name="name">Dell Widescreen UltraSharp 3007WFP</str>
<int name="popularity">6</int>
<float name="price">2199.0</float>
<float name="weight">401.6</float>
</doc>
</result>
</response>
其中
URL栏为
:http://localhost:8983/solr/select/?q=monitor&version=2.2&start=0&rows=10&indent=on
参数说明
:
参数
|
描述
|
示例
|
q
|
Solr
中用来搜索的查询。有关该语法的完整描述,请参阅
参考资料 中的 “
Lucene
QueryParser
Syntax”
。可以通过追加一个分号和已索引且未进行断词的字段(下面会进行解释)的名称来包含排序信息。默认的排序是
score
desc
,指按记分降序排序。
|
q=myField:Java
AND otherField:developerWorks; date asc
此查询搜索指定的两个字段并根据一个日期字段对结果进行排序。
|
start
|
将初始偏移量指定到结果集中。可用于对结果进行分页。默认值为
0
。
|
start=15
返回从第
15
个结果开始的结果。
|
rows
|
返回文档的最大数目。默认值为
10
。
|
rows=25
|
fq
|
提供一个可选的筛选器查询。查询结果被限制为仅搜索筛选器查询返回的结果。筛选过的查询由
Solr
进行缓存。它们对提高复杂查询的速度非常有用。
|
任何可以用
q
参数传递的有效查询,排序信息除外。
|
hl
|
当
hl=true
时,在查询响应中醒目显示片段。默认为
false
。参看醒目显示参数上的
Solr
Wiki
部分可以查看更多选项(见
参考资料)。
|
hl=true
|
fl
|
作为逗号分隔的列表指定文档结果中应返回的
Field
集。默认为
“
*”
,指所有的字段。“
score”
指还应返回记分。
|
*,score
|
- 大小: 97.1 KB
分享到:
相关推荐
Apache Lucene是一个基于Java的全文搜索引擎库,它提供了一个强大的工具集用于索引和搜索文本。Lucene的核心功能包括为文件中的每个单词建立...整体上,这篇文档为读者提供了对Solr的基础知识和高级功能的深入理解。
1. Solr基础知识 2. Solr查询 3. Facet查询 4. Group查询 5. 高亮查询 6. Suggest查询 7. SolrJ 章节三:Solr高级(上) 1. Solr Cloud 2. 函数查询 3. 地理位置查询 4. JSON Facet 章节四:Solr高级(下) 1. 深度...
本文来自于简书,本文是一篇基础文章,详细介绍了Solr是什么,及涉及到的层面。 简单来说Solr是基于Lucene的高性能的,开源的Java企业搜索服务器。Solr可以看作一个Web app,运行在tomcat或Jetty这类HTTP服务器上, ...
### Solr基础知识与实践操作详解 #### 一、Solr简介及安装配置 **Solr** 是一个基于 **Lucene** 的开源全文检索服务器。它提供了高性能、全功能的文本搜索服务,支持复杂的搜索语法,并且能够通过插件扩展功能。 ...
### Solr基础知识与单机配置详解 #### 一、Solr概述 - **定义**: Solr是Apache基金会下的一个顶级开源项目,它基于Lucene,提供了高性能的全文检索功能。Solr不仅支持复杂的查询语法,还具备高度的可配置性和扩展...
通过这些基础知识,你可以开始构建和优化你的全文搜索引擎,为你的应用提供高效、可扩展的搜索功能。随着对Solr的深入学习,你将能够掌握更高级的主题,如集群配置、实时增删改查和复杂查询策略。
Solr基础知识 - **文档和字段**: - **文档(Document)**:索引的基本单元,包含一组相关的字段。 - **字段(Field)**:文档中的一项具体信息,包含名称、内容及处理方式的元数据。 - **字段类型**:字段可以...
1. Solr基础知识 - 企业搜索引擎方案选型:主要比较了基于Lucene封装、调用第三方搜索引擎API和基于Compass+Lucene三种方案的优劣。 - Solr的特性:描述了Solr是基于Lucene的搜索引擎,并对其扩展性进行了说明;包括...
2. **Solr基础知识**:Solr的工作原理、索引构建、查询优化、分布式搜索能力以及SolrCloud的集群管理。 3. **HBase与Solr集成**:介绍如何配置和使用HBase作为Solr的数据源,实现数据的实时索引和检索,包括HBase的...
### Solr基础使用知识点 #### 一、需求分析与实现方法 **1.1 需求** 在电商网站中,商品信息搜索是一项至关重要的功能。用户能够通过输入关键字、选择分类或设定价格范围来查找商品。此外,还支持按照价格进行排序...
这是我整理的关于Solr的技术培训资料,它包含了关于Solr的基础知识和高级应用,例如分组、分词器、权重等问题,因为本人在学习solr时发现资源太少,所以整理了一些,当然由于本人技术不足,难免知识点不够全面,有...
一、SOLR基础知识 1. 全文检索:SOLR通过分词器对输入的查询进行处理,找出最相关的文档。其核心在于倒排索引,这是一种用于快速查找文档中包含特定词汇的数据结构。 2. 配置文件:SOLR的配置主要在solrconfig.xml和...
从完成的结果上来看,我们的目标接近完成,Solr的基础知识、核心技术、进阶知识和扩展知识悉数包括在内。 全书一共16章,分为上下两卷: 上卷(第1~10章) 全面、系统地讲解了Solr的基础知识和核心技术。包括部署、...
Solr,全称为Apache Solr,是一款开源的企业级搜索引擎服务,基于Java开发,并且高度依赖于Lucene库。它的核心功能在于提供高效、可扩展的全文检索、层面搜索、命中醒目显示以及支持多种数据格式的输出,如XML、XSLT...
### Solr 学习知识点详解 #### 一、Solr 概述 - **定义**:Solr 是 Apache 下的一个顶级开源项目,采用 Java 开发,它是基于 Lucene 的全文搜索服务器。Solr 可以独立运行在 Jetty、Tomcat 等 Servlet 容器中。 -...
了解这些基础知识后,你就可以开始探索 Solr 8.8.2 的高级特性,如实时增删改查、多字段排序、高亮显示、同义词处理、地理位置搜索以及更复杂的查询表达式等。通过熟练掌握 Solr,你将能够构建强大而高效的全文搜索...
这本书的目的是为读者提供一套Solr的初级详细教程,帮助用户掌握Solr的基础知识以及进阶应用。 书中内容分为两大部分: 第一部分,介绍了Solr的各个方面,包括其基本概念、配置方法、索引构建和文本分析等。这部分...