`

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基础知识介绍

    3. solr是什么 2 3.1 solr的功能 3 3.2 solr术语 3 3.2.1 Auto-warming 3 3.2.2 Facet 3 3.3.3 Document 6 3.3.4 Field 6 3.3.5 IndexWriter 6 3.3.6 IndexSearcher 6 3.3.7 Directory 6 3.3.8 Segment 7 3.3.9 ...

    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服务器上, ...

    在Eclipse中运行Solr 基础知识

    Solr我还是个菜鸟,写这一些文章只是记录一下最近一段时间学习Solr的心得,望各位同仁不要见笑,还希望多多指点

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

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

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

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

    Solr权威指南-上卷

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

    Solr权威指南-下卷

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

    Solr使用初探-1.0

    Solr的基础知识,笔者翻阅了很多网上的资料,自认为比较全面,涉及到Solr的安装使用与SolrJ的开发。

    Solr5.5搜索引擎之分词原理说明

    介绍了Solr5.5内部使用的分词原理,有助于开发者自定义自己的分词器时掌握分词的基础知识。

    Solr5.5搜索引擎之分词原理说明.docx

    Solr5.5搜索引擎之分词原理说明.docx 介绍了Solr5.5内部使用的分词原理,有助于开发者自定义自己的分词器时掌握分词的基础知识。

    Java学习路线图.pdf

    Java学习路线图涵盖了Java编程语言的方方面面,从基础知识到高级应用,从 SE 基础知识到 EE 企业级应用,从数据结构到软件工程设计模式,全方位地展示了 Java 程序员的知识图谱。 阶段一:Java SE基础知识 * 异常...

    软件漏洞分析入门

    软件漏洞分析是软件安全技术中的一项重要技术,涉及到软件漏洞的研究价值、研究方法、堆栈利用的基础知识、shellcode 的调试方法、漏洞调试方法、漏洞分析、漏洞挖掘和软件安全性测试等方面。本篇文章引入了软件漏洞...

    Elasticsearch服务器开发-完整版-带书签-高清

    你将学到Elasticsearch的基础知识,以及如何使用一些高级功能。如果你已经知道并使用了Elasticsearch,仍然会发现本书很有趣,因为它通过例子和描述,很好地概述了Elasticsearch的所有功能。如果你知道Apache Solr...

    lucene学习

    Lucene的基础知识 1、案例分析:什么是全文检索,如何实现全文检索 2、Lucene实现全文检索的流程 a) 创建索引 b) 查询索引 3、配置开发环境 4、创建索引库 5、查询索引库 6、分析器的分析过程 a) 测试分析器的分词...

    超系统学习Lucene全文检索技术视频教程

    视频详细讲解,需要的小伙伴自行网盘下载,链接见附件,永久有效。 目前业界流行的ElasticSearch和Solr搜索...系统的学习Lucene全文检索技术,全面掌握搜索原理和底层知识,为学习其他应用层面搜索技术打下坚实的基础。

    JavaEE全套知识视频

    JavaEE全套知识视频,其中包含了很多的知识,maven,大数据,Redis,jq,oracle,solr,lucene,mybatis,spring,java基础等,差不多Javaweb开发所有需要的知识。

    王凯某求职简历_20201129154431_嵌入式_java简历_程序员简历模板_计算机相关专业.doc

    1. JAVA基础知识:熟悉JAVA基础知识,例如反射、泛型、代理等技术。 2. JAVA设计模式:熟悉常用的JAVA设计模式,如单例、装饰、工厂、代理等。 3. Web开发框架:熟悉Struts2、Spring、Hibernate等框架,理解Struts...

    开源中国源码

    FlyCms 是一个类似知乎以问答为基础的完全开源的JAVA语言开发的社交网络建站程序,基于 Spring Boot+Bootstrap3+MyBatis+MYSQL+Solr+Ehcache 应用架构,专注于社区内容的整理、归类和检索,它集合了问答,digg,wiki...

    祁某某_嵌入式_java简历_程序员简历模板_计算机相关专业.doc

    1. Java 基础知识:熟悉 Java 语法基础、数据库基础、装饰、单例、工厂等设计模式。 2. 项目管理和构建工具:熟悉 Eclipse/MyEclipse/Intellij、SVN、Maven 等项目管理和项目构建工具的使用。 3. JavaWeb 基础:...

Global site tag (gtag.js) - Google Analytics