`
yintaoxue
  • 浏览: 22867 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

solr 使用安装介绍

    博客分类:
  • Solr
阅读更多

1、先下载 Apache Solr 1.3 http://apache.etoak.com/lucene/solr/1.3.0/apache-solr-1.3.0.zip,解压到如 E:\apache-solr-1.3.0。

2、下载 Apache Tomcat 6.0.18 http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.zip,解压到如 E:\apache-tomcat-6.0.18。

3、solr 安装到 tomcat。修改 E:\apache-tomcat-6.0.18\conf\server.xml,加个 URIEncoding="UTF-8",把 8080 的那一块改为:

  1. <Connector port="8080" protocol="HTTP/1.1"  
  2.            connectionTimeout="20000"  
  3.            redirectPort="8443" URIEncoding="UTF-8"/>  

把下面的内容保存到 E:\apache-tomcat-6.0.18\conf\Catalina\localhost\solr.xml,没有这个目录自行创建。

  1. <Context docBase="E:/apache-solr-1.3.0/dist/apache-solr-1.3.0.war" reloadable="true" >  
  2.     <Environment name="solr/home" type="java.lang.String" value="E:/apache-solr-1.3.0/example/solr" override="true" />  
  3. </Context>  

solr 的更多方式请看:solr install

4、现在安装好,启动 tomcat,并打开 http://localhost:8080/solr/admin/ 看看界面。

5、为搜索论坛帖子应用设计索引结构:

字段 说明
id 帖子 id
user 发表用户名或UserId
title 标题
content 内容
timestamp 发表时间
text 把标题和内容放到这里,可以用同时搜索这些内容。

6、上面的索引结构告诉 solr,把下面的内容覆盖 E:\apache-solr-1.3.0\example\solr\conf\scheam.xml,(可以先备份这文件,方便以后看官方示例):

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2.   
  3. <schema name="example" version="1.1">  
  4.   
  5.   <types>  
  6.     <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>  
  7.     <fieldType name="sint" class="solr.SortableIntField" sortMissingLast="true" omitNorms="true"/>  
  8.   
  9.     <!-- The format for this date field is of the form 1995-12-31T23:59:59Z, and   
  10.          is a more restricted form of the canonical representation of dateTime   
  11.          http://www.w3.org/TR/xmlschema-2/#dateTime   
  12.          The trailing "Z" designates UTC time and is mandatory.   
  13.          Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z   
  14.          All other components are mandatory.   
  15.   
  16.          Expressions can also be used to denote calculations that should be   
  17.          performed relative to "NOW" to determine the value, ie...   
  18.   
  19.                NOW/HOUR   
  20.                   ... Round to the start of the current hour   
  21.                NOW-1DAY   
  22.                   ... Exactly 1 day prior to now   
  23.                NOW/DAY+6MONTHS+3DAYS   
  24.                   ... 6 months and 3 days in the future from the start of   
  25.                       the current day   
  26.   
  27.          Consult the DateField javadocs for more information.   
  28.       -->  
  29.     <fieldType name="date" class="solr.DateField" sortMissingLast="true" omitNorms="true"/>  
  30.   
  31.     <fieldType name="text" class="solr.TextField" positionIncrementGap="100">  
  32.       <analyzer>  
  33.         <tokenizer class="solr.CJKTokenizerFactory"/>  
  34.       </analyzer>  
  35.     </fieldType>  
  36.   
  37.  </types>  
  38.   
  39.  <fields>  
  40.    <field name="id" type="sint" indexed="true" stored="true" required="true" />  
  41.    <field name="user" type="string" indexed="true" stored="true"/>  
  42.    <field name="title" type="text" indexed="true" stored="true"/>  
  43.    <field name="content" type="text" indexed="true" stored="true" />  
  44.    <field name="timestamp" type="date" indexed="true" stored="true" default="NOW"/>  
  45.   
  46.    <!-- catchall field, containing all other searchable text fields (implemented   
  47.         via copyField further on in this schema  -->  
  48.    <field name="text" type="text" indexed="true" stored="false" multiValued="true"/>  
  49.  </fields>  
  50.   
  51.  <!-- Field to use to determine and enforce document uniqueness.   
  52.       Unless this field is marked with required="false", it will be a required field   
  53.    -->  
  54.  <uniqueKey>id</uniqueKey>  
  55.   
  56.  <!-- field for the QueryParser to use when an explicit fieldname is absent -->  
  57.  <defaultSearchField>text</defaultSearchField>  
  58.   
  59.  <!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->  
  60.  <solrQueryParser defaultOperator="AND"/>  
  61.   
  62.   <!-- copyField commands copy one field to another at the time a document   
  63.         is added to the index.  It's used either to index the same field differently,   
  64.         or to add multiple fields to the same field for easier/faster searching.  -->  
  65. <!-- -->  
  66.    <copyField source="title" dest="text"/>  
  67.    <copyField source="content" dest="text"/>  
  68.   
  69. </schema>  

7、重启 tomcat,然后手动在 E:\apache-solr-1.3.0\example\exampledocs 创建两个 xml 数据文件。分别保存为 demo-doc1.xml 和 demo-doc2.xml:

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <add>  
  3.     <doc>  
  4.         <field name="id">1</field>  
  5.         <field name="user">chenlb</field>  
  6.         <field name="title">solr 应用演讲</field>  
  7.         <field name="content">这一小节是讲提交数据给服务器做索引,这里有一些数据,如:服务器,可以试查找它。</field>  
  8.     </doc>  
  9. </add>  

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <add>  
  3.     <doc>  
  4.         <field name="id">2</field>  
  5.         <field name="user">bory.chan</field>  
  6.         <field name="title">搜索引擎</field>  
  7.         <field name="content">搜索服务器那边有很多数据。</field>  
  8.         <field name="timestamp">2009-02-18T00:00:00Z</field>  
  9.     </doc>  
  10.     <doc>  
  11.         <field name="id">3</field>  
  12.         <field name="user">other</field>  
  13.         <field name="title">这是什么</field>  
  14.         <field name="content">你喜欢什么运动?篮球?</field>  
  15.         <field name="timestamp">2009-02-18T12:33:05.123Z</field>  
  16.     </doc>  
  17. </add>  

8、提交数据做索引,到 E:\apache-solr-1.3.0\example\exampledocs,运行:

E:\apache-solr-1.3.0\example\exampledocs>java -Durl=http://localhost:8080/solr/update -Dcommit=yes -jar post.jar demo-doc*.xml
SimplePostTool: version 1.2
SimplePostTool: WARNING: Make sure your XML documents are encoded in UTF-8, other encodings are not currently supported
SimplePostTool: POSTing files to http://localhost:8080/solr/update..
SimplePostTool: POSTing file demo-doc1.xml
SimplePostTool: POSTing file demo-doc2.xml
SimplePostTool: COMMITting Solr index changes..

9、查看搜索结果:

所有内容 http://localhost:8080/solr/select/?q=*%3A*&version=2.2&start=0&rows=10&indent=on

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <response>  
  3.   
  4. <lst name="responseHeader">  
  5.  <int name="status">0</int>  
  6.  <int name="QTime">0</int>  
  7.  <lst name="params">  
  8.   <str name="indent">on</str>  
  9.   <str name="start">0</str>  
  10.   <str name="q">*:*</str>  
  11.   <str name="rows">10</str>  
  12.   <str name="version">2.2</str>  
  13.  </lst>  
  14. </lst>  
  15. <result name="response" numFound="3" start="0">  
  16.  <doc>  
  17.   <str name="content">这一小节是讲提交数据给服务器做索引,这里有一些数据,如:服务器,可以试查找它。</str>  
  18.   <int name="id">1</int>  
  19.   <date name="timestamp">2009-05-27T04:07:54.89Z</date>  
  20.   <str name="title">solr 应用演讲</str>  
  21.   <str name="user">chenlb</str>  
  22.  </doc>  
  23.  <doc>  
  24.   <str name="content">搜索服务器那边有很多数据。</str>  
  25.   <int name="id">2</int>  
  26.   <date name="timestamp">2009-02-18T00:00:00Z</date>  
  27.   <str name="title">搜索引擎</str>  
  28.   <str name="user">bory.chan</str>  
  29.  </doc>  
  30.  <doc>  
  31.   <str name="content">你喜欢什么运动?篮球?</str>  
  32.   <int name="id">3</int>  
  33.   <date name="timestamp">2009-02-18T12:33:05.123Z</date>  
  34.   <str name="title">这是什么</str>  
  35.   <str name="user">other</str>  
  36.  </doc>  
  37. </result>  
  38. </response>  

bory.chan 用户的:http://localhost:8080/solr/select/?q=user%3Abory.chan&version=2.2&start=0&rows=10&indent=on

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <response>  
  3.   
  4. <lst name="responseHeader">  
  5.  <int name="status">0</int>  
  6.  <int name="QTime">0</int>  
  7.  <lst name="params">  
  8.   <str name="indent">on</str>  
  9.   <str name="start">0</str>  
  10.   <str name="q">user:bory.chan</str>  
  11.   <str name="rows">10</str>  
  12.   <str name="version">2.2</str>  
  13.  </lst>  
  14. </lst>  
  15. <result name="response" numFound="1" start="0">  
  16.  <doc>  
  17.   <str name="content">搜索服务器那边有很多数据。</str>  
  18.   <int name="id">2</int>  
  19.   <date name="timestamp">2009-02-18T00:00:00Z</date>  
  20.   <str name="title">搜索引擎</str>  
  21.   <str name="user">bory.chan</str>  
  22.  </doc>  
  23. </result>  
  24. </response>  

时间 http://localhost:8080/solr/select/?q=timestamp%3A%5B%222009-02-18T00%3A00%3A00Z%22+TO+%222009-02-19T00%3A00%3A00Z%22%5D&version=2.2&start=0&rows=10&indent=on

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <response>  
  3.   
  4. <lst name="responseHeader">  
  5.  <int name="status">0</int>  
  6.  <int name="QTime">16</int>  
  7.  <lst name="params">  
  8.   <str name="indent">on</str>  
  9.   <str name="start">0</str>  
  10.   <str name="q">timestamp:["2009-02-18T00:00:00Z" TO "2009-02-19T00:00:00Z"]</str>  
  11.   <str name="rows">10</str>  
  12.   <str name="version">2.2</str>  
  13.  </lst>  
  14. </lst>  
  15. <result name="response" numFound="2" start="0">  
  16.  <doc>  
  17.   <str name="content">搜索服务器那边有很多数据。</str>  
  18.   <int name="id">2</int>  
  19.   <date name="timestamp">2009-02-18T00:00:00Z</date>  
  20.   <str name="title">搜索引擎</str>  
  21.   <str name="user">bory.chan</str>  
  22.  </doc>  
  23.  <doc>  
  24.   <str name="content">你喜欢什么运动?篮球?</str>  
  25.   <int name="id">3</int>  
  26.   <date name="timestamp">2009-02-18T12:33:05.123Z</date>  
  27.   <str name="title">这是什么</str>  
  28.   <str name="user">other</str>  
  29.  </doc>  
  30. </result>  
  31. </response>  

常用的 solr 查询参数请看:solr 查询参数说明

简单的示例已经完成了,索引文件(默认)会在 CWD/solr/data/index 目录下,要改为 solr.home/data目录下,在 F:\apache-solr-1.3.0\example\solr\conf\solrconfig.xml 把 dataDir 注释掉,如:

  1. <!--  
  2. <dataDir>${solr.data.dir:./solr/data}</dataDir>  
  3. -->  
  <!--
  <dataDir>${solr.data.dir:./solr/data}</dataDir>
  -->

说明:上面没有使用中文分词,用官方的 CJK 分词,另外有 mmseg4j 中文分词的示例,请看:solr 中文分词 mmseg4j 使用例子

[转载收藏:http://www.cnblogs.com/cy163/archive/2009/09/18/1569681.html]

分享到:
评论

相关推荐

    solr的安装与使用

    Solr安装与使用 Solr是一款功能强大的搜索引擎,能够帮助我们快速搭建企业搜索平台。在本文中,我们将详细介绍Solr的安装和使用过程。 一、安装Solr 首先,我们需要下载Solr的安装包。这里我们使用的是Solr 1.3...

    ubuntu下安装solr4.9详细介绍

    文档中详细介绍了如何在ubuntu下面安装solr-4.9.0,以及在安装过程中出现的问题和解决办法

    solr安装和介绍

    本文详细介绍了 Solr 的安装过程及 SolrCore 的配置方法。通过上述步骤,用户可以成功地在 CentOS 7 上部署并配置 Solr 搜索服务。此外,文中还提供了关于 Solr 目录结构和配置文件的深入解释,有助于更好地理解和...

    solr的安装使用步骤

    ### Solr的安装使用步骤详解 #### Solr概述与特性 **Solr** 是 Apache 下的一个顶级开源项目,它基于 **Lucene** 进行构建,提供了强大的全文搜索能力。相较于 Lucene,Solr 提供了更为丰富的查询语言支持,并且...

    solr安装配置

    本文将详细介绍如何在本地环境中安装和配置 Solr。 首先,我们需要准备的环境是 JDK 和 Tomcat。Solr 建立在 Java 之上,所以必须先安装 JDK 1.6 或以上版本。在安装 JDK 后,需要设置相应的环境变量,例如 `JAVA_...

    solr搜索服务器安装配置

    本文详细介绍了Solr搜索服务器的安装配置过程,从环境搭建到具体配置步骤进行了全面的讲解,并提供了常见的问题解决方法。通过本文的学习,读者应该能够掌握如何成功地安装和配置Solr搜索服务器,从而为自己的项目...

    Solr配置安装(一)

    本文将详细介绍如何进行Solr的配置和安装。 1. **下载与解压** 首先,我们需要从Apache Solr的官方网站下载最新版本的Solr。通常,下载的是一个zip或tar.gz格式的压缩包。在本例中,我们有一个名为`startup.sh`的...

    solr集群安装手册

    ### Solr集群安装手册知识点详解 #### 一、SolrCloud概述 - **定义与应用场景:** - **定义:** SolrCloud 是 Apache Solr 提供的一种分布式搜索解决方案,适用于需要大规模、高容错性、分布式索引及检索能力的...

    solr-使用安装介绍.doc

    Apache Solr 是一个开源的企业级全文搜索引擎,由 Lucene 提供支持。它的主要功能包括文本...在实际使用中,还需要学习如何使用 Solr 的 API 进行数据导入导出、查询优化以及其他高级功能,以充分利用 Solr 的潜力。

    solr4.1安装配置

    总结,本文详细介绍了如何在Windows 7环境下安装配置Solr 4.1,包括JDK和Tomcat的安装,Solr的部署,以及IK分词器的集成。同时,我们还展示了如何使用SolrJ进行索引操作,这使得与Solr的交互变得更加简单和高效。在...

    Solr安装与配置

    本文将详细介绍如何进行 Solr 的安装与配置。 首先,安装 Solr 需要先确保你的系统已经安装了 Java Development Kit (JDK) 1.6 或以上版本,因为 Solr 需要依赖 JDK 来运行。你可以从 Oracle 的官方网站下载并安装...

    Solr(Cloudera)使用手册

    ### Solr(Cloudera)使用手册 #### 一、创建Collection与管理实例 在使用Solr(Cloudera)时,创建Collection是基本的操作之一。Collection是Solr中的数据存储单元,相当于关系数据库中的表。 ##### 创建路径与实例 ...

    solr安装与配置

    ### Solr安装与配置知识点详解 #### 一、Solr简介 Solr是一款开源的、高性能的全文搜索引擎,广泛应用于企业级搜索系统中。它基于Lucene开发,并提供了丰富的功能和扩展性,支持多种数据源索引和检索,能够轻松地...

    solr安装部署文档

    Solr 安装部署文档 Solr 是一个基于 Lucene 的搜索服务器,提供了强大的全文搜索功能。...这篇文档详细介绍了 Solr 的安装部署和 Solr 导入 Oracle 数据库的步骤, hopes it can help you understand Solr better.

    图解Solr6.6.0安装与MySQL配置

    本文详细介绍了如何安装配置Solr 6.6.0并与MySQL数据库集成的过程。通过图文并茂的方式,不仅让读者了解到Solr的安装配置流程,还深入探讨了Solr与MySQL之间的数据交互方式。Solr的强大功能使得它成为现代网站和应用...

    tomcat-8.0.28+solr5.3.1安装教程.doc

    本文详细介绍了如何安装配置 Java Development Kit (JDK) 1.8.0_65、Apache Tomcat 8.0.28 以及 Apache Solr 5.3.1。通过上述步骤,可以确保这些组件能够正常运行,为开发基于 Java 的 Web 应用提供支持。在实际操作...

    solr介绍及使用.docx

    安装 Solr 首先需要从官方网站下载最新版本,例如 Solr 5.5.2。确保你的系统已经安装了 JDK 及相应的运行环境,Solr 需要在 Java 1.6 或更高版本的 JVM 上运行。接着,将下载的 Solr 解压并将相关文件复制到 Tomcat ...

    solr基础知识介绍

    Solr易于安装和配置,并且提供了一个基于HTTP的管理界面。Solr被广泛应用于大型网站,并且因为其成熟和稳定性而受到青睐。Solr创建的索引与Lucene完全兼容,这意味着Solr可以阅读和使用其他Lucene应用程序构建的索引...

Global site tag (gtag.js) - Google Analytics