`

solr基础知识

阅读更多

solr1.4版本

  1. 准备

 下载地址 :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
分享到:
评论

相关推荐

    solr基础知识介绍

    Apache Lucene是一个基于Java的全文搜索引擎库,它提供了一个强大的工具集用于索引和搜索文本。Lucene的核心功能包括为文件中的每个单词建立...整体上,这篇文档为读者提供了对Solr的基础知识和高级功能的深入理解。

    java进阶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是什么,及涉及到的层面。 简单来说Solr是基于Lucene的高性能的,开源的Java企业搜索服务器。Solr可以看作一个Web app,运行在tomcat或Jetty这类HTTP服务器上, ...

    solr资料

    ### Solr基础知识与实践操作详解 #### 一、Solr简介及安装配置 **Solr** 是一个基于 **Lucene** 的开源全文检索服务器。它提供了高性能、全功能的文本搜索服务,支持复杂的搜索语法,并且能够通过插件扩展功能。 ...

    windows-solr集群.docx

    ### Solr基础知识与单机配置详解 #### 一、Solr概述 - **定义**: Solr是Apache基金会下的一个顶级开源项目,它基于Lucene,提供了高性能的全文检索功能。Solr不仅支持复杂的查询语法,还具备高度的可配置性和扩展...

    在Eclipse中运行Solr 基础知识

    通过这些基础知识,你可以开始构建和优化你的全文搜索引擎,为你的应用提供高效、可扩展的搜索功能。随着对Solr的深入学习,你将能够掌握更高级的主题,如集群配置、实时增删改查和复杂查询策略。

    solr技术文档

    Solr基础知识 - **文档和字段**: - **文档(Document)**:索引的基本单元,包含一组相关的字段。 - **字段(Field)**:文档中的一项具体信息,包含名称、内容及处理方式的元数据。 - **字段类型**:字段可以...

    solr从入门到精通教程

    1. Solr基础知识 - 企业搜索引擎方案选型:主要比较了基于Lucene封装、调用第三方搜索引擎API和基于Compass+Lucene三种方案的优劣。 - Solr的特性:描述了Solr是基于Lucene的搜索引擎,并对其扩展性进行了说明;包括...

    1-7+HBase+for+Solr+介绍.zip

    2. **Solr基础知识**:Solr的工作原理、索引构建、查询优化、分布式搜索能力以及SolrCloud的集群管理。 3. **HBase与Solr集成**:介绍如何配置和使用HBase作为Solr的数据源,实现数据的实时索引和检索,包括HBase的...

    Solr基础使用

    ### Solr基础使用知识点 #### 一、需求分析与实现方法 **1.1 需求** 在电商网站中,商品信息搜索是一项至关重要的功能。用户能够通过输入关键字、选择分类或设定价格范围来查找商品。此外,还支持按照价格进行排序...

    Solr技术培训资料(基础知识+高级应用)。

    这是我整理的关于Solr的技术培训资料,它包含了关于Solr的基础知识和高级应用,例如分组、分词器、权重等问题,因为本人在学习solr时发现资源太少,所以整理了一些,当然由于本人技术不足,难免知识点不够全面,有...

    sorl学习笔记及相关教程

    一、SOLR基础知识 1. 全文检索:SOLR通过分词器对输入的查询进行处理,找出最相关的文档。其核心在于倒排索引,这是一种用于快速查找文档中包含特定词汇的数据结构。 2. 配置文件:SOLR的配置主要在solrconfig.xml和...

    Solr权威指南-上卷

    从完成的结果上来看,我们的目标接近完成,Solr的基础知识、核心技术、进阶知识和扩展知识悉数包括在内。 全书一共16章,分为上下两卷: 上卷(第1~10章) 全面、系统地讲解了Solr的基础知识和核心技术。包括部署、...

    solr索引服务基础知识[收集].pdf

    Solr,全称为Apache Solr,是一款开源的企业级搜索引擎服务,基于Java开发,并且高度依赖于Lucene库。它的核心功能在于提供高效、可扩展的全文检索、层面搜索、命中醒目显示以及支持多种数据格式的输出,如XML、XSLT...

    solr的学习

    ### Solr 学习知识点详解 #### 一、Solr 概述 - **定义**:Solr 是 Apache 下的一个顶级开源项目,采用 Java 开发,它是基于 Lucene 的全文搜索服务器。Solr 可以独立运行在 Jetty、Tomcat 等 Servlet 容器中。 -...

    最新版linux solr-8.8.2.tgz

    了解这些基础知识后,你就可以开始探索 Solr 8.8.2 的高级特性,如实时增删改查、多字段排序、高亮显示、同义词处理、地理位置搜索以及更复杂的查询表达式等。通过熟练掌握 Solr,你将能够构建强大而高效的全文搜索...

    Solr In Action 原版

    这本书的目的是为读者提供一套Solr的初级详细教程,帮助用户掌握Solr的基础知识以及进阶应用。 书中内容分为两大部分: 第一部分,介绍了Solr的各个方面,包括其基本概念、配置方法、索引构建和文本分析等。这部分...

Global site tag (gtag.js) - Google Analytics