欢迎投稿

今日深度:

solr基础知识,

solr基础知识,


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

 

 

 

 

 

 

 

 

 

www.htsjk.Com true http://www.htsjk.com/solr/38576.html NewsArticle solr基础知识, 对 solr1.4 版本 下载地址 :http://lucene.apache.org/solr      最新源码下载地址 :https://svn.apache.org/repos/asf/lucene/dev/trunk 源码使用说明 , 使用 ant 构建 , 命令 :anttest 用于跑单元测...
相关文章
    暂无相关文章
评论暂时关闭