`

solr使用

    博客分类:
  • solr
 
阅读更多

Solr基本介绍

  1. 目的

为了实现用户数据的空间位置的搜索,以及其他用户数据内容的全文检索。并且要支持高可用性。根据要求查到solr满足我们的需求,详细如下(基于SolrCloud)

 

  • 搜索方面:支持全文检索和空间搜索,并且支持返回值类型全面(XML/XSLT, JSON, Python, Ruby, PHP, Velocity, CSV, binary),还有排序,分页等查询支持。
  • 在可靠性方面支持:基于ZooKeeper的配置,自动分布式索引和分片。发送数据到任意节点,solr会自动转送到正确的片。使用事务日志保证即使在数据还未索引到磁盘上的时候,也能不会丢失更新的数据,查询失败的自动故障转移,不会出现单点问题
  • 性能方面:支持推送数据近实时的建立索引  

  2.初步安装

首先在官网下载solr,地址如下http://www.apache.org/dyn/closer.cgi/lucene/solr/4.3.1,本文以4.3.1为例,下载完成后解压缩后内容如下



 

本文只讲初步试用,所以进入example目录中



 

在运行前,需要保证机器上安装有jdk1.6以上版本,官方文档上说oracle,openjdk和ibm的jdk都可以,不知道官方包使用哪个JDK编译的,如果怕有问题,可以自己下载源码然后进行编译。参考http://wiki.apache.org/solr/HowToCompileSolr

在example目录下执行 java -jar start.jar启动solr服务。简要说明一下,solr可以在任意java servlet容器中启动,例子工程中包含了一个小的jetty容器。此时solr服务会启动起来,默认端口为8983,然后你就可以通过http://localhost:8983/solr/     访问solr服务了

 

     3.管理界面



 

进入solr服务后的界面如上图所示,基本上都是显示了一些基本信息,例如服务启动时间,服务主机名,相关程序和数据的存放位置等。右边还有一些运行时信息显示。

说下基本概念,collection是一个目录的路径,用来存储索引等相关数据,可以在solr.xml中配置。下图是默认配置信息



 

  4.Schema

当你更新索引的时候提交的数据需要通过schema文件中配置的字段进行匹配,如果提交的数据中在schema中没有,则会报错。在schema.xml中配置了针对。

文件位于/solr/example/solr/collection1/conf,路径下



 

上图是例子工程中的schema,对field中的属性做下说明:

name:必须要有的字段,field的名字

type:必须要有的字段,field的类型

indexed:如果需要针对此字段进行搜索和排序的话,这个值应该是true

stored:如果需要检索这个字段的话,此值应该是true

docValues:只支持由StrField UUIDField的

Trie树,这三类型的数据,并且可能需要默认值。例子参考下

     <field name="popularity" type="int" indexed="true" stored="true" docValues="true" default="0" />

     <field name="manu_exact" type="string" indexed="false" stored="false" docValues="true" default="" />

default:默认值,如果插入的时候此值为空,则默认插入默认值。和数据库的默认值一个意思。

OmitNorms:建议专家才设置次属性。原始类型数据(int,float,boolean,string)此值默认为true,此值省略部分操作,提升性能。

等等等。。。

 

下图是例子工程中的部分fieldtype配置:



 

这些内容是配置的对指定类型的数据如何处理,如果是中文分词的话加入如下配置,并且把IKAnalyzer的jar包放入solr的lib目录下:

<fieldType name="text_ik"  class="solr.TextField" > 

      <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer" /> 

 </fieldType> 

关于solr的分析器、断词工具和标记筛选器的资料参考http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters.

Schema文件中还需要有个唯一约束的字段,默认是id,如下图所示




 
  5.基本查询

Solr 接受 HTTP GET 和 HTTP POST 查询消息。solr的主要查询参数为,具体参考http://wiki.apache.org/solr/CommonQueryParameters#q

  • q:

Q是主要的查询参数,基本查询内容的条件都在这里。因为solr是基于lucene的,但是solr和lucene的q参数有些许差异,具体参考http://wiki.apache.org/solr/SolrQuerySyntax

  • sort

此参数用来排序,详细信息参考下图。



 


 

  • start

此参数是用来分页用的,从查询结果中的第几条开始现实,默认是0

  • rows

最大返回结果数

  •   fq

次参数是查询结果的过滤条件,他的缓存和主查询的缓存是分开的,这样可以增加复杂查询的效率。关于缓存的信息参考http://wiki.apache.org/solr/SolrCaching

  • fl 

控制返回值的哪些哪些字段给返回,类似于select A,B from table 中的A、B。默认值是*

 

 

 

  • 大小: 4.7 KB
  • 大小: 8.7 KB
  • 大小: 150 KB
  • 大小: 8.7 KB
  • 大小: 15.9 KB
  • 大小: 45.4 KB
  • 大小: 4 KB
  • 大小: 39.9 KB
分享到:
评论

相关推荐

    solr使用和原理

    solr使用和原理 简单明了的介绍了solr的使用和原理,及其部署方式,适合初学者第一次部署

    Solr(Cloudera)使用手册

    Solr(Cloudera)使用手册

    solr使用教程结合taotao项目的search模块1

    solr使用教程结合taotao项目的search模块1

    Solr 使用文档 pdf版

    Solr 3.*pdf使用手册,欢迎下载

    Solr使用初探-1.0

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

    Solr使用指南

    Solr使用指南,操作步骤很详细

    solr的安装使用步骤

    solr的安装使用步骤

    SOLR的应用教程

    1.2.1 Solr使用Lucene并且进行了扩展 4 1.2.2 Schema(模式) 5 1.2.3 查询 5 1.2.4 核心 5 1.2.5 缓存 5 1.2.6 复制 6 1.2.7 管理接口 6 1.3 Solr服务原理 6 1.3.1 索引 6 1.3.2 搜索 7 1.4 源码结构 8 1.4.1 目录...

    easynet.solr开发与使用

    简单的描绘了使用easynet开发solr客户端,包括添加,修改,删除,查询功能。

    solr使用指南1

    1、环境要求 2、启动: 3、建立一个简单实例: 4、怎么进行搜索 1、导入smartcn的jar包 2、配置分词器 3、 效果 1、导入相关jar包 2、配置

    solr中文解析器以及使用文档

    solr中文解析器以及使用文档,配合blog使用

    solr7官方文档

    solr 使用官方指南,solr 使用官方指南solr 使用官方指南solr 使用官方指南

    solr 企业搜索引擎教程

    1.2.1 Solr使用Lucene并且进行了扩展  一个真正的拥有动态域(Dynamic Field)和唯一键(Unique Key)的数据模式(Data Schema)  对 Lucene 查询语言的强大扩展!  支持对结果进行动态的分组和过滤  高级的,可配置...

    solr-java运用

    solr配置,部署,定时任务更新,数据源配置, solr_java 运用详解

    lucene,solr的使用

    lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用lucene,solr的使用

    solr安装配置

    Solr安装配置 详细安装SOLR安装配置图片展示

    lucene简单介绍及solr搭建使用

    lucene的应用.pdf 01solr企业级搜索引擎准备阶段.pdf 02solr企业级搜索引擎实战演练.pdf 适合新手搭建solr使用

    开源企业搜索引擎SOLR的应用教程

    Apache Solr 是一个开源的搜索服务器,Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。定制 Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述所有 Field 及其内容的 XML 文档就...

    solr 安装和使用

    solr安装和使用

Global site tag (gtag.js) - Google Analytics