美文网首页搜索引擎
Solr6.5.1环境搭建+相关命令+索引查询

Solr6.5.1环境搭建+相关命令+索引查询

作者: 大大菠菜 | 来源:发表于2017-06-05 14:55 被阅读136次

前言
最近在研究搜索引擎,准备搭建一套属于自己的搜索APP,用于搜索的数据我已通过scrapy抓到本地了,现在需要一个搜索引擎来跑这些数据.于是选择了基于Lucene的solr来为我做搜索引擎的工作.时至今日最新版的solr为6.5.1,话不多说,开始干吧~

目录

1.solr简介
2.solr环境搭建
3.solr相关命令
4.solr索引查询


1.solr简介


solr 名称来源
Search On Lucene Replication
solr 基本概况
Apache Solr (读音: SOLer) 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个属性的名字是 id,在 Schema 配置文件中使用:id进行描述。
Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提 供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。

2.solr环境搭建

环境准备:

1.Ubuntu 16.04 LTS
http://releases.ubuntu.com/16.04/
2.Java JDK 1.8.0
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
3.Solr 6.5.1
http://www.apache.org/dyn/closer.lua/lucene/solr/6.5.1

安装/配置solr:

1、将下载下来的solr-6.5.1.tgz解压

2、在*\下新建文件夹solr_home

3、在solr_home中新建文件夹solr_core

4、从solr-6.5.1\solr\server\solr下的三个文件copy到solr_home中

5、将\solr-6.5.1\solr\server\solr\configsets\basic_configs下的conf文件夹copy到solr_home\solr_core中

启动solr

在solr解压目录运行:

bin/solr start 

Solr的默认web管理页面地址为
http://localhost:8983


3.Solr相关命令

查看帮助

bin/solr -help     

启动start

bin/solr start  -help    查看start帮助
bin/solr start           在默认端口启动
bin/solr start -f        前台启动
bin/solr start -p 8984   指定端口启动
bin/solr start -cloud    启动分布式版本
bin/solr start -e cloud -noprompt         -e表示要启动一个现有的例子,例子名称是cloud,cloud这个例子是以SolrCloud方式启动的
bin/solr restart         重启项目

新建 core

 bin/solr create -c abc   创建一个名为<abc>的core

post提交数据生成索引

bin/post -c abc docs/   向名为<abc>的core或collection提交数据,数据源在<docs/>目录中

删除

bin/solr delete -c abc     删除一个名为<abc>的core或collection

删除索引

bin/post -c abc  -d "<delete><query>*:*</query></delete>"     删除<abc>core的所有数据
bin/post -c abc  -d "data to be deleted"       在<data to be deleted>处填写你想要删除的数据

停止solr

bin/solr stop -all 停止所有端口
bin/solr stop -p 8080 停止<8080>端口

状态

bin/solr status 查看当前运行的所有solr端口

当然了,有一些命令在solr的web管理界面也能实现,不管是黑猫白猫,只要能抓耗子的猫就是好猫.

4.solr索引查询

一.基本查询

    q     查询的关键字,此参数最为重要,例如,q=id:1,默认为q=*:*,
    fl    指定返回哪些字段,用逗号或空格分隔,注意:字段区分大小写,例如,fl= id,title,sort
    start 返回结果的第几条记录开始,一般分页用,默认0开始
    rows  指定返回结果最多有多少条记录,默认值为 10,配合start实现分页
    sort  排序方式,例如id  desc 表示按照 “id” 降序
    wt    (writer type)指定输出格式,有 xml, json, PHP等
    fq   (filter query)过虑查询,提供一个可选的筛选器查询。返回在q查询符合结果中同时符合的fq条件的查询结果,例如:q=id:1&fq=sort:[1 TO 5],找关键字id为1 的,并且sort是1到5之间的。
    df    默认的查询字段,一般默认指定。
    qt   (query type)指定那个类型来处理查询请求,一般不用指定,默认是standard。
    indent    返回的结果是否缩进,默认关闭,用 indent=true|on 开启,一般调试json,php,phps,ruby输出才有必要用这个参数。
    version   查询语法的版本,建议不使用它,由服务器指定默认值。

二. Solr的检索运算符

    “:”      指定字段查指定值,如返回所有值*:*
    “?”      表示单个任意字符的通配
    “*”      表示多个任意字符的通配(不能在检索的项开始使用*或者?符号)
    “~”      表示模糊检索,如检索拼写类似于”roam”的项这样写:roam~将找到形如foam和roams的单词;roam~0.8,检索返回相似度在0.8以上的记录。
    AND、||  布尔操作符
    OR、&&   布尔操作符
    NOT、!、-(排除操作符不能单独与项使用构成查询)
    “+”      存在操作符,要求符号”+”后的项必须在文档相应的域中存在²
    ( )      用于构成子查询
    []      包含范围检索,如检索某时间段记录,包含头尾,date:[201507 TO 201510]
    {}      不包含范围检索,如检索某时间段记录,不包含头尾date:{201507 TO 201510}

相关推荐:
Windows10下浅识Luke索引
scrapy通过scrapyinghub实现24小时爬虫托管爬取
参考链接:
http://lucene.apache.org/solr/quickstart.html
http://blog.csdn.net/matthewei6/article/details/50620600

相关文章

  • Solr6.5.1环境搭建+相关命令+索引查询

    前言最近在研究搜索引擎,准备搭建一套属于自己的搜索APP,用于搜索的数据我已通过scrapy抓到本地了,现在需要一...

  • adb devices 命令不识别

    React Native Android 环境搭建开发过程中, adb devices 命令查询手机设备,提示命令...

  • Docker 创建一个kafka,rabbitmq,jdk1.8

    环境centos Linux 命令 关闭防火墙 查询当前路径 查询宿主机IP docker相关 开启Docker:...

  • 【转】MySQL索引操作命令小结

    MySQL索引操作命令小结 这篇文章主要介绍了MySQL索引操作命令小结,本文讲解了创建索引、查询索引、删除索引等...

  • Elasticsearch 7.x索引、文档基本操作

    索引操作 1、查询索引 查询索引命令上面已经展示过了,这里再补充一些 条件过滤 排序 索引详细信息 2、创建索引 ...

  • 搭建LAMP环境

    搭建LAMP环境 yum安装 相关命令 本地安装 执行安装命令 外网安装 在外购买服务器,进行连接 执行安装命令 ...

  • ES常用命令

    集群信息 索引命令 查询命名 查询所有 curl -XPOST ${ES_SEARCH} -d'{"query":...

  • date-inode-block

    history 查询之前输入过的命令find -inum查询索引节点inode文件内容| 管道符号 把管道前面命令...

  • mysql索引查询

    参考文档:explain命令mysql慢查询优化 一、主键和索引的区别 二、mysql查询时如何使用索引 三、ex...

  • 108MongoDB 基础教程--高级查询与索引

    高级查询与索引 初始化环境 启动 MongoDB 服务,因为 MongoDB 并不随系统一起启动,可能以下命令运行...

网友评论

本文标题:Solr6.5.1环境搭建+相关命令+索引查询

本文链接:https://www.haomeiwen.com/subject/uimufxtx.html