• solr 最佳实践


    管理页面

    页面地址: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=普陀

  • 相关阅读:
    kubernetes实战(十六):k8s高可用集群平滑升级 v1.11.x 到v1.12.x
    kubernetes实战(十四):k8s持久化部署gitlab集成openLDAP登录
    kubernetes实战(十三):k8s使用helm持久化部署harbor集成openLDAP登录
    kubernetes实战(十二):k8s使用helm持久化部署redmine集成openLDAP
    kubernetes实战(十一):k8s使用openLDAP统一认证
    Django数据库连接Mysql配置
    HmailServer 无法发信 端口25连接失败 ConnectFail not possible to connect 请看这里
    C++ Opencv安装教程 超详细图解 Vs2015/2017/2019(C++)绑定 VisualStduio
    Python Ftp Ftplib dir()方法 返回值问题
    Collections 初识
  • 原文地址:https://www.cnblogs.com/studyhs/p/6290589.html
Copyright © 2020-2023  润新知