【Solr】copy字段的应用
目录
界面查询应用
添加一个文档

查询添加的文档

以上详细介绍了query里面的参数详解。
当不输入任何条件时,进行查询,看看返回结果。

返回了刚才添加进去的文档。
添加文档时,我们添加了id,title,content 分词,那么如果我们想自己定义,该如何?
{"id":"change.me","aaaaaa":"change.me"}
结果返回错误:
Status: error
Error: Bad Request
Error:
{
"responseHeader": {
"status": 400,
"QTime": 1
},
"error": {
"msg": "ERROR: [doc=change.me] unknown field 'aaaaaa'",
"code": 400
}
}
不能发现 aaaaaa 这个filed!!
熟悉两个重要的文档
1.Schema.xml
schema.xml位于solr/conf/目录下,类似于数据表配置文件,定义了加入索引的数据的数据类型,主要包括type、fields和其他的一些缺省设置。

Field:域的定义
- Name:域的名称
- Type:域的类型
- Indexed:是否索引
- Stored:是否存储
- multiValued:是否多值,如果是多值在一个域中可以保持多个值。
- dynamicField动态域
dynamicField:动态域
- Name:域的名称,是一个表达式。如果域的名称和表达式相匹配,此域名就可以使用。
- Type:域的类型
- Indexed:是否索引
- Stored:是否存储
- multiValued:是否多值,如果是多值在一个域中可以保持多个值。
uniqueKey
- 每个文档必须有一个uniqueKey,而且不能重复。相当于表中的主键。
copyField
- 复制域。
- Source:源域
- Dest:目标域。
- 创建文档时,solr会自动把源域的内容复制到目标域。使用复制域可以提供查询的性能。
fieldType
- 域的类型。
- Name:域类型名。
- Class:对应的实现类。solr.TextField类似于Lucene中的TextField。可以配置用户自定义的分析器。
存储的都是一些solr内置的字段。
可以自己定义一些字段和类型
solr/collection1/conf
找到Schema.xml文件,进行添加
<!-- Anny 配置字段-->
<field name="title_ik" type="text_ik" indexed="true" stored="true"/>
<field name="content_ik" type="text_ik" indexed="true" stored="true" multiValued="true"/> <!-- IKAnalyzer- 配置类型-> 采用中文分词器
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
<!--IKAnalyzer Field-->
配置步骤:
- 第一步:把IKAnalyzer2012FF_u1.jar添加到solr工程的lib库中。
- 第二步:把配置文件和扩展词典、停用词词典添加到solr工程classpath下。Solr/WEB-INF/classes。保证字典的字符集是utf-8.注:classes没有这个文件夹手动创建就好!
jar包下载地址:http://pan.baidu.com/s/1skphG9v
IKAnalyzer.cfg.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">ext.dic</entry> <!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">stopword.dic;</entry> </properties>
ext.dic配置文件
惠民
中商惠民www
baby
屌丝男士
野菊花
向日葵
菊花
葵花
注:如果文档第一行的词,没有进行分词处理,那么就验证了第一行不进行分词。可以空一行!
配置完毕后,进行重启tomcat即可访问。

copy域的应用
将数据库的字段创建类型和域
<!--product-->
<field name="product_name" type="text_ik" indexed="true" stored="true"/>
<field name="product_price" type="float" indexed="true" stored="true"/>
<field name="product_description" type="text_ik" indexed="true" stored="false" />
<field name="product_picture" type="string" indexed="false" stored="true" />
<field name="product_catalog_name" type="string" indexed="true" stored="true" /> <field name="product_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="product_name" dest="product_keywords"/>
<copyField source="product_description" dest="product_keywords"/>
copyField域
<copyField source="product_name" dest="product_keywords"/> 创建索引product_name,复制到product_keywords里面了。
把多个域的关键词复制到同一个域,多个域时,可以放到一个域中。就不用定义那么多域了。搜索比较方便。
【Solr】copy字段的应用的更多相关文章
- solr查询字段为空值,删除字段空值的方法
1. 例,我想查找内容字段content为空值的文档,看看文档有多少?执行如下查询. http://127.0.0.1:11100/solr/province/select?q=-(content:* ...
- Solr 多字段、打分规则、权重和实时索引同步
1.字段 Filed:<field name="_id" type="text_ik" indexed="true" stored=& ...
- solr copyfield字段使用实践
1.使用场景 比如我们现在有一个文档,有title.author.area.keyword.link等字段.现在要把这个文档索引到 solr中,为了方便对author.area.keyword进行搜索 ...
- 统计solr multivalued 字段中数目
问题是这样的:已有若干multivalued 字段, 需要统计出 multivalued 字段中数目. 比如 *DOC1* <doc> <arr name="multi&q ...
- Solr4:数据导入(dataimport)时,不符合Solr日期类型要求的字段的处理
背景: 要求将一个SQL Server2012版本中的数据库导入到Solr中.数据表中有一字段用来存储birthday日期字段,为nvarchar类型,长度为8,格式为:yyyyMMdd. 导入Sol ...
- 1.4.2 solr字段类型--(1.4.2.1)字段类型定义和字段类型属性
1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期 ...
- Solr字段类型field type的定义
摘要: Solr的字段类型定义了Solr如何解析字段数据并将数据检索出来,了解Solr的字段类型定义有助于更好的配置与使用Solr. 字段类型的定义 字段类型的定义主要包含如下四个方面的信息: 名称 ...
- Solr系列三:solr索引详解(Schema介绍、字段定义详解、Schema API 介绍)
一.Schema介绍 1. Schema 是什么? Schema:模式,是集合/内核中字段的定义,让solr知道集合/内核包含哪些字段.字段的数据类型.字段该索引存储. 2. Schema 的定义方式 ...
- Solr部署详解
Solr部署详解 时间:2013-11-24 方式:转载 目录 1 solr概述 1.1 solr的简介 1.2 solr的特点 2 Solr安装 2.1 安装JDK 2.2 安装Tomcat 2.3 ...
随机推荐
- C#调试方法
单步执行 有三种, 一种是每次执行一行(F10): 一种是每次执行一行,但遇到函数调用就会跳到被调用的函数里(F11): 一种是直接执行当前函数里剩下的指令,返回上一级函数(Shift+F11). 还 ...
- UEditor上传图片到七牛云储存(java)
我们的网站一般放在虚拟空间或者服务器上,图片如果存在本地目录,会占用很多空间和流量,还增加了负担,好的办法是把图片存放到云储存服务里面,平时用url去拿 云储存:普遍说又拍云和七牛比较好,看到七牛免费 ...
- Oracle 数据库对象
数据库对象是数据库的组成部分,常常用CREATE命令进行创建,可以使用ALTER命令修改,用DROP执行删除操作.前面已经接触过的数据库对象有表.用户等. 今天将学习更多的Oracle数据库对象: 同 ...
- 【Beta版本】冲刺-Day1
队伍:606notconnected 会议时间:12月9日 目录 一.行与思 二.站立式会议图片 三.燃尽图 四.代码Check-in 一.行与思 张斯巍(433) 今日进展:git学习,xml语言学 ...
- 修改MySQL的默认数据存储引擎
因为MySQL默认的是MyISAM数据引擎,不支持事务也不支持外键,所以需要用到Innodb引擎,于是决定将mysql的默认引擎设置为innodb.1 . 查看MySQL存储引擎是用的哪个?登录MyS ...
- Java单例模式——并非看起来那么简单
版权声明:本文为[viclee]原创,如需转载请注明出处~ Java中单例(Singleton)模式是一种广泛使用的设计模式.单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在.一些管理 ...
- js009-客户端检测
js009-客户端检测 本章内容: 1.使用能力检测 2.用户代理检测的历史 3.选择检测方式 一般不使用客户端检测. 9.1 能力检测 也称特性检测.基本模式如下: if(object.proper ...
- spark 读取 elasticsearch数据
–master spark://10.8.2.100:7077 –jars /usr/local/spark-1.5.2/lib/elasticsearch-hadoop-2.1.1.jar
- 分页探究--Filter+JSTL
最近卡了一个功能就是分页,查了很多资料,分页大概是两种类型:一种是把数据库的东西全部查出来然后放在session里,用list一页一页传到页面,这样的消耗比较大;另一种就是使用sql语句的limit来 ...
- iOS7以上图片模糊效果
模糊后的效果 模糊后的效果 框架UIImage+BlurredFrame里的 applyLightEffectAtFrame方法 例如 bgImage = [bgImage applyLightEff ...