管理页面

页面地址:http://{ip}:{port}/solr/#/

管理页面的data-import页可以手动重建索引,configuration指定了数据源,重建索引也可以通过http请求触发: 
http://{ip}:{port}/solr/{coreName}/dataimport?command=full-import&clean=true&commit=true

管理页面的schema页用来配置索引字段。

每天晚上的定时全量重建索引是通过linux的crontab实现的。

部署路径下的主要目录和脚本

./:该目录下的upsolr.sh是solr的启动脚本,配置了jetty端口,jmx端口,远程调试端口,内存分配,垃圾回收等启动参数

./contexts:该目录下的solr-jetty-context.xml文件为jetty配置solr应用的war包信息,一般不用修改

./etc:该目录下的jetty.xml文件可配置jetty参数、jetty日志等信息,一般不用修改

./lib: jetty的相关jar包

./logs:日志文件路径

./resources:该目录下的log4j.properties文件是log4j的配置文件

./solr:该目录是solr各个core的配置和索引的存储路径,solr.xml文件配置core及core配置文件的路径{coreName}目录下的conf目录是该core的配置文件,data目录是该core的索引文件 conf目录下最重要的两个文件是db-data-config.xml和schema.xml db-data-config.xml配置了数据源,schema.xml配置了索引字段以及字段类型

./solr-webapp:solr的war包解压后的目录

./webapps:solr的war包的目录

增加节点

  1. 拷贝solr部署路径下的文件到新服务器的相应路径(拷贝时可去掉日志文件和索引文件以减小拷贝包的大小)

  2. 修改upsolr.sh中的相关配置,如果新服务器的路径不一致,需要修改./resources/log4j.properties中的日志文件路径

  3. 启动solr,重建索引,配置crontab定时任务(如果起不来可以修改upsolr.sh中的“> /dev/null 2>&1&”部分, 将启动输出重定向到一个文件,看报什么错)

  4. 修改dy-solrj中的相应配置文件,相关项目升级dy-solrj的jar包

  5. 通知运维修改相关域名代理的ip

增加/删除索引字段

修改./solr/{coreName}/conf/schema.xml文件,如果索引列名与视图列名不一致,需要在db-data-config.xml文件中配置映射关系

增加core

修改./solr/solr.xml文件,指定coreName和配置文件位置,配置文件可以从其他core拷贝,如果使用solrj还需要修改solrj相关代码

solr运行

启动服务器

bin/solr start

这将在后台启动服务器,默认在8983端口监听。bin/solr脚本允许你自定义启动Solr的方式。

查看如何使用bin/solr脚本

bin/solr -help

可以看到有10个命令,查看各个命令用法详情的方法如下。示例:查看启动的用法详情

bin/solr start -help

增加document

Solr的schema提供了内容如何结构化的方法,但是没有内容谈何结构化。Solr需要输入内容。 
bin/post是用来索引文档的命令,使用-help可以看到相关使用信息。bin/post可以post各种类型的内容到Solr上。

bin/post -c fy example/exampledocs/*.xml 

查询

现在已经完成了索引,可以查询。最简单的方式是构建一个包含查询参数的URL。

  1. 示例:查询video

    http://localhost:8983/solr/fy/select?q=video

  2. 示例:查询video,但是文档只返回ID、name和price列

    http://localhost:8983/solr/fy/select?q=video&fl=id,name,price

  3. 示例:查询在name field中有black的。如果没有指定field,将搜索默认filed(在schema中设置)

    http://localhost:8983/solr/fy/select?q=name:black

  4. 可以提供fields范围。示例:查询price在0~400的

    http://localhost:8983/solr/fy/select?q=price:[0%20TO%20400]

Faceted browsing是Solr关键特性的其中之一。它允许用户缩小搜索结果。示例:电商网站提供facets通过制造商和价格来缩小搜索结果。

  1. Faceted信息在查询返回包中在第三部分。示例:

    http://localhost:8983/solr/fy/select?q=*:*&facet=true&face.field=DistrictName

  2. facet信息展示了每个DistrictName有多少结果。可以使用这些信息更轻松地缩小查询结果。你可以通过增加过滤条件来过滤结果。

    http://localhost:8983/solr/fy/select?q=*:*&facet=true&face.field=DistrictName&facet.query=普陀

solr最佳实践的更多相关文章

  1. solr 最佳实践

    管理页面 页面地址:http://{ip}:{port}/solr/#/ 管理页面的data-import页可以手动重建索引,configuration指定了数据源,重建索引也可以通过http请求触发 ...

  2. 【大数据和云计算技术社区】分库分表技术演进&最佳实践笔记

    1.需求背景 移动互联网时代,海量的用户每天产生海量的数量,这些海量数据远不是一张表能Hold住的.比如 用户表:支付宝8亿,微信10亿.CITIC对公140万,对私8700万. 订单表:美团每天几千 ...

  3. 分库分表技术演进&最佳实践

    每个优秀的程序员和架构师都应该掌握分库分表,这是我的观点. 移动互联网时代,海量的用户每天产生海量的数量,比如: 用户表 订单表 交易流水表 以支付宝用户为例,8亿:微信用户更是10亿.订单表更夸张, ...

  4. 「从零单排HBase 12」HBase二级索引Phoenix使用与最佳实践

    Phoenix是构建在HBase上的一个SQL层,能让我们用标准的JDBC APIs对HBase数据进行增删改查,构建二级索引.当然,开源产品嘛,自然需要注意“避坑”啦,阿丸会把使用方式和最佳实践都告 ...

  5. ASP.NET跨平台最佳实践

    前言 八年的坚持敌不过领导的固执,最终还是不得不阔别已经成为我第二语言的C#,转战Java阵营.有过短暂的失落和迷茫,但技术转型真的没有想象中那么难.回头审视,其实单从语言本身来看,C#确实比Java ...

  6. 《AngularJS深度剖析与最佳实践》简介

    由于年末将至,前阵子一直忙于工作的事务,不得已暂停了微信订阅号的更新,我将会在后续的时间里尽快的继续为大家推送更多的博文.毕竟一个人的力量微薄,精力有限,希望大家能理解,仍然能一如既往的关注和支持sh ...

  7. ASP.NET MVC防范CSRF最佳实践

    XSS与CSRF 哈哈,有点标题党,但我保证这篇文章跟别的不太一样. 我认为,网站安全的基础有三块: 防范中间人攻击 防范XSS 防范CSRF 注意,我讲的是基础,如果更高级点的话可以考虑防范机器人刷 ...

  8. 快速web开发中的前后端框架选型最佳实践

    这个最佳实践是我目前人在做的一个站点,主要功能: oauth登录 发布文章(我称为"片段"),片段可以自定义一些和内容有关的指标,如“文中人物:12”.支持自定义排版.插图.建立相 ...

  9. Spring Batch在大型企业中的最佳实践

    在大型企业中,由于业务复杂.数据量大.数据格式不同.数据交互格式繁杂,并非所有的操作都能通过交互界面进行处理.而有一些操作需要定期读取大批量的数据,然后进行一系列的后续处理.这样的过程就是" ...

随机推荐

  1. Android 5.0自定义动画

    材料设计中的动画对用户的操作给予了反馈,并且在与应用交互时提供了持续的可见性.材料主题提供了一些按钮动画和活动过渡,Android 5.0允许你自定义动画并且可以创建新的动画: Touch Feedb ...

  2. Toad for Oracle的安装

    分享一下Oracle 10gToad for Oracle的安装步骤   三年前用过Oracle,单纯的“用过”,主要就是说对数据库的一些操作,还不包含创建一些存储过程之类的,所以对Oracle仅仅只 ...

  3. 打开Openstack dashboard出现Internal Server Error

    最近研究openstack,想把自己遇到的问题记录下来,同时如果有别的朋友也碰到同样问题的时候可以有个参考. 这次的问题是在openstack搭建好之后,dashboard本身是能用的,但是在某一天后 ...

  4. storm搭建(1)zookeeper搭建

    storm集群的安装我用了三台的虚拟机,ip分别是192.168.9.202和203和204,其中主机是202,两台分机的ip是203和204,之前两台机器的搭建已经完成,这次安装的环境是在204机器 ...

  5. discuz 门户功能增加自定义keywords字段

    discuz的门户的“发布文章”功能中,没有自动添加keywords字段,结果在文章页面中的meta的keywords中只显示标题,这样对于seo及其不利,今天整理了添加keywords字段方法. 一 ...

  6. 基于ffmpeg的C++播放器1

    基于ffmpeg的C++播放器 (1) 2011年12月份的时候发了这篇博客 http://blog.csdn.net/qq316293804/article/details/7107049 ,博文最 ...

  7. [置顶] 从引爆点的角度看360随身wifi的发展

    从引爆点的角度看360随身wifi的发展 不到一个月的时间,随身wifi预定量就数百万.它的引爆点在哪里,为什么相同的产品这么多它却能火起来,通过对随身wifi的了解和我知识层面分析,主要是因为随身w ...

  8. CSS sprites减少HTTP请求

    使用CSS sprites减少HTTP请求   sprites是鬼怪,小妖精,调皮鬼的意思,初听这个高端洋气的名字我被震慑住了,一步步掀开其面纱后发觉很简单的东西,作用却很大 神马是CSS 小妖精 C ...

  9. Github官方app分析——用户身份验证模块

    这篇文章记述的是我对Giuhub官方app的用户身份验证模块的分析. Giuhub的官方app虽然是一个非常小众的程序,但是从程序的设计的角度看,这是一个非常优秀的项目.对于其用户身份验证模块,给我留 ...

  10. XML中的五个保留字符及实体引用

    字符名称 字符 实体引用 和 & & 大于号 >  > 小于号 <  < 单引号 ‘ &apos; 双引号 “ " 在XML文档中,构成元素内 ...