Solr基本操作
/update
使用/update进行索引维护,进入Solr管理界面SolrCore下的Document下:

我们进行更新操作可以用json和xml多种格式,这里以xml格式为例说明。先来看看界面上的几个选项:
1、Commit Within
commitWithin="10000" : solr在做索引的时候,每个10000(10秒)毫秒,做一次文档提交。为了方便测试也可以在Document中立即提交。
<add>
<doc>
<field name="id">change.me</field>
<field name="title">change.me</field>
</doc>
</add>
<commit/>
2、Overwrite
overwrite="true":solr在做索引的时候,如果文档已经存在,就用xml中的文档进行替换。
3、Boost
boost是增强、促进的意思,在创建索引时设置boost值:可以针对Field设置boost,也可以针对Document设置boost值,如下:
<add>
<doc>
<field name="id">a01</field>
<field name="product_name" boost="20.0">粉刷匠</field>
<field name="product_description" >我是一个粉刷匠</field>
</doc>
<doc boost="30.0">
<field name="id">a02</field>
<field name="product_name">粉刷匠</field>
<field name="product_description" >我是两个粉刷匠</field>
</doc>
</add>
<commit/>
针对Field设置boost必须搜索时匹配到该Field在计算相关度得分时才有效,针对Document设置Field则在搜索时只要匹配到该Document的任意Field在计算相
关度得分都有效。
测试:如果要搜索product_description,关键字“粉刷匠”,“a02”的doc会排在前边,因为“a02”是整体设置了boost值。
在创建搜索时设置域的boost值:搜索匹配到的域如果boost值设置的高则计算的相关度得分就可能会高,如下:
<add>
<doc>
<field name="id">a03</field>
<field name="product_name">lucene实战</field>
<field name="product_description">这是一本讲解全文检索技术的书籍</field>
</doc>
<doc>
<field name="id">a04</field>
<field name="product_name">全文检索</field>
<field name="product_description" >Lucene是一个全文检索工具包</field>
</doc>
</add>
<commit/>
“a03”文档的product_name中有lucene,product_description中没有,“a04”文档中的product_name中没有lucene,"product_description中有lucene。product_name和product_description组合域搜索时设置product_name的boost值高点,如下:

当product_name中匹配到重要性要比product_description高,查询结果是product_name中匹配到关键字的排在前边,如下:

请求格式
solr默认根据id(唯一约束)域来更新Document的内容,如果根据id值搜索不到id域则会执行添加操作,如果找到则更新。唯一标识 Field必须有,这里使用Solr默认的id。
增加、修改索引格式如下:
<add>
<doc>
<field name="id">change.me</field>
<field name="??" >??</field>
...
</doc>
</add>
删除索引格式如下:
<!--删除制定ID的索引-->
<delete>
<id>8</id>
...
</delete>
<!--删除查询到的索引数据-->
<delete>
<query>product_catalog_name:粉刷匠</query>
</delete>
<!--删除所有索引数据-->
<delete>
<query>*:*</query>
</delete>
/select
Solr搜索处理器,我们可以在配置文件设置一些默认参数,conf/solrconfig.xml。
<requestHandler name="/select" class="solr.SearchHandler">
<!-- 设置默认的参数值,可以在请求地址中修改这些参数-->
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int><!--显示数量-->
<str name="wt">json</str><!--显示格式-->
<str name="df">text</str><!--默认搜索字段-->
</lst>
</requestHandler>
通过/select搜索索引,Solr制定一些参数完成不同需求的搜索,我们看看界面中的参数配置(这些参数也可在上边的配置文件中配置)


1、q - 查询字符串,必须的,如果查询所有使用*:*。

2、fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,这里的过滤条件也可以写在q中,规则都是一样的,例如:

3、sort - 排序,格式:sort=<field name> + <desc|asc>[,<fieldname> + <desc|asc]示例:

4、start - 分页显示使用,开始记录下标,从0开始,rows - 指定返回结果最多有多少条记录,配合start来实现分页。

5、fl - 指定返回那些字段内容,用逗号或空格分隔多个。

6、df-指定一个搜索Field,指定后就可以直接在“q”查询条件中输入关键字。

7、Raw Query Parameters - 原始请求语句,类似http中get请求参数

8、wt - (writer type)指定输出格式,可以有 xml, json, php, phps, 后面 solr1.3增加的,要用通知我们,因为默认没有打开。

9、hl - 是否高亮 ,设置高亮Field,设置格式前缀和后缀。

Solr基本操作的更多相关文章
- SolrCloud6.3 单机、集群、内置jetty、tomcat搭建、对collection操作
参考:https://my.oschina.net/u/1416405/blog/821187 1.Solr 单机 1.1.Solr下载 1.solr官网:http://lucene.apache.o ...
- 利用SOLR搭建企业搜索平台 之——Solr索引基本操作
来源:http://blog.csdn.net/zx13525079024/article/details/25367239 我们来看下通过界面来操作SOLR,包括SOLR索引的添加,查询等基本操作. ...
- solr开发之基本操作
package zr.com.util; import java.io.IOException; import java.util.List; import java.util.Map; import ...
- Solr记录-solr介绍及配置
Solr是一个开源搜索平台,用于构建搜索应用程序. 它建立在Lucene(全文搜索引擎)之上. Solr是企业级的,快速的和高度可扩展的. 使用Solr构建的应用程序非常复杂,可提供高性能. 为了在C ...
- Lucene7.2.1系列(二)luke使用及索引文档的基本操作
系列文章: Lucene系列(一)快速入门 Lucene系列(二)luke使用及索引文档的基本操作 Lucene系列(三)查询及高亮 luke入门 简介: github地址:https://githu ...
- 全文检索之solr学习
solr下载: http://www.apache.org/dyn/closer.lua/lucene/solr/7.3.1 学习教程 除了官网的教程,一切教程都是可以有错误的. https://lu ...
- Solr学习笔记(3) —— SolrJ管理索引库&集群
一.什么是SolrJ solrj是访问Solr服务的java客户端,提供索引和搜索的请求方法,SolrJ通常嵌入在业务系统中,通过SolrJ的API接口操作Solr服务,如下图: 二.SolrJ的基本 ...
- Solr 7 部署与使用踩坑全记录
前言 Solr 是一种可供企业使用的.基于 Lucene 的搜索服务器,它支持层面搜索.命中醒目显示和多种输出格式.在这篇文章中,我将介绍 Solr 的部署和使用的基本操作,希望能让初次使用的朋友们少 ...
- Solr Admin管理界面使用说明
Notice:本说明基于Solr6.4.2. 本文讨论的是如何使用Solr Admin UI. 一级菜单 图1.SolrCloud模式 图2.单机Solr模式 Logging:展示Solr的日志,不用 ...
随机推荐
- windows系统上利用putty通过SSH连接亚马逊AWS服务器
1. 找到在购买亚马逊的AWS服务器时保存的密钥文件(假设为abc.pem). 2.打开PuTTYgen,如下图,点击图中1处的“load”,找到abc.pem文件所在的位置,并选择abc.pem,确 ...
- mac 进程和线程工具
进程 查看端口进程 lsof lsof -i tcp:<port> 示例 $ lsof -i tcp:8082 COMMAND PID USER FD TYPE DEVICE SIZE/O ...
- iOS UI进阶-3.0 核心动画
Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍,使用它需要先添加QuartzCore.framework和引入对应的框架<Quar ...
- cocos2dx 游戏plist与png完美切成小图python代码
首先需要一份python的切图程序: #python2.5 unpack_plist.py birdfly #! /usr/lical/bin/python import os,sys from xm ...
- python模拟艺龙网登录带验证码输入
1.使用urllib与urllib2包 2.使用cookielib自动管理cookie 3.360浏览器F12抓信息 登录请求地址和验证码地址都拿到了如图 # -*- coding: utf-8 -* ...
- Unable to update the EntitySet 'T_JsAPI' because it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionMapping> element to support the current operation.
前几天使用EF6的Db First模式改造了支付中心的数据访问层,废弃了ado.net. 同时,使用T4把实体类生成到了model层的PO目录下. 今天在db里新建了一张表,在edmx文件里更新模型( ...
- PXC搭建
一,安装依赖包 rpm -ivh libev-4.04-2.el6.x86_64.rpm =====> ftp://rpmfind.net/linux/atrpms/el6-x86_64/ ...
- Django配置xadmin后台模板之坑(一)
环境: Python3.6 + Django2.0 + xadmin2.0 一.安装 1.首先安装就会有一个坑,很多教程的安装是直接在虚拟环境下使用 pip install xadmin 或者 pip ...
- Keras 如何利用训练好的神经网络进行预测
分成两种情况,一种是公开的训练好的模型,下载后可以使用的,一类是自己训练的模型,需要保存下来,以备今后使用. 如果是第一种情况,则参考 http://keras-cn.readthedocs.i ...
- java一维数组作业
package zuoYe; import java.util.Scanner; public class MaxSubArray { public static void main(String[] ...