solr联合多个字段进行检索(multivalued和copyfield的使用)

copyField 与multiValued用途

在我们的应用中经常会有这种情形:当用户输入某个字符串查找时,需要如果在标题及内容中存在这个字会串时均要把记录加载出来,通过引入copyField及multiValue这两个标签便可解决这种问题。如:

<!--这里无需定义id,因为managed_schema文件已经在前面开头位置定义了,id是必须,并且唯一的-->
<field name="S_user" type="string" indexed="true" stored="true"/>
<field name="S_text" type="string" indexed="true" stored="true"/>
<field name="sgk" type="string" indexed="true" stored="false" multiValued="true"/>
<!--CopyField复制域,功能就是在添加文档的时候自动的把源域的内容复制到目标域。可以把目标域作为默认搜索域可以提高查询的性能。
Source:源域
Dest:目标域-->
<copyField source="S_user" dest="sgk" />
<copyField source="S_text" dest="sgk" />  

1.首先也要定义目标域的属性,name域名=sgk,type类型,indexed是否索引,stored是否存储(不存储,这里只到连接的作用),multiValued=true

<copyField source="S_user" dest="sgk" />
<copyField source="S_text" dest="sgk" />  把S_user和S_text用sgk联合和进行检索

从上图看出sgk区域,是s_user、s_texte 两个的集合,无论搜索s_user、s_texte 中任意一个,都能通过sgk搜索出来

				
时间: 2024-10-24 23:58:41

solr联合多个字段进行检索(multivalued和copyfield的使用)的相关文章

SQL语句对于多表联合查询重复字段的特殊语法处理

SQL语句对于多表联合查询重复字段的特殊语法处理 原创 2016年01月13日 14:22:36 5309 [sql] view plain copy SELECT m.*,d_name,r_name,m2.m_account as shangji_account FROM Member m,Member m2,Role r,Depart d WHERE m.m_rid=r.id and m.m_did=d.id and m.m_shangji=m2.id ORDER BY m.id DESC

Solr 建立多对多对象索引,检索时只显示了第一条

commodity 表 跟 region 表是多对多的关系,他们之间有个中间表iyb_commodity_distribut_region建立了该关系. 现在的solr-data-config 配置如下: query="select cd.region_sid, c.* from iyb_commodity c         left join iyb_commodity_distribut_region cd on cd.commodity_sid = c.sid        where 

对mysql联合索引中的字段进行合理排序

在MySQL的where条件中,有时会用到很多的条件,通常为了加快速度会把这些字段放到联合索引中,可以更快的提高搜索速度: 但是对联合索引中字段顺序的合理排序,便更能提高速度 例子:select * from table where (groupid=1000) and (userid=500) and (time=140012345) 建立的索引也通常很随性的就按照where条件中字段的顺序建立 ALTER  TABLE  table  ADD  INDEX g_u_time_index(gr

1.4.2 solr字段类型--(1.4.2.5)使用枚举字段

1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期) (1.4.2.5) 使用枚举字段 (1.4.2.6) 使用外部文件和程序 (1.4.2.7) 字段属性使用案例 使用枚举字段 枚举字段类型允许定义一个这样的字段,字段的值是一个封闭的结果集.这排列顺序是预先定义好的,不是按照字母或者数字大小排序的.如严重性列表或者是风险定义的例子. 在schem

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(日期) (1.4.2.5) 使用枚举字段 (1.4.2.6) 使用外部文件和程序 (1.4.2.7) 字段属性使用案例 字段类型定义和字段类型属性 字段类型元素fieldType包含4个信息的类型:name,class-实现类的名称,analyzer-用于字段类型的分析,字段属性Field. schem

跨域请求获取Solr json检索结果并高亮显示

Solr提供了json格式的检索结果,然而在跨域的情况下如何调用呢?我们可以利用jquery提供的jsonp的方式获取Solr检索结果. <script type="text/javascript" src="./resources/js/jquery-1.8.2.min.js"></script> <input type="text" size="50" value="" i

通过Nutch扩展点开发插件(添加自定义索引字段到solr)

爬虫系统:通过Nutch扩展点开发插件(添加自定义索引字段到solr) 准备工作 爬虫环境 -- nutch2.3.1 + solr4.10.3 + hbase0.98 开发环境 -- Eclipse Mars.2 Release(4.5.2) 所需jar包 -- apache-nutch-2.3.jar.hadoop-common-2.6.0.jar.slf4j-api-1.7.9.jar 什么是Nutch扩展点 ??????好的爬虫系统应该同时具备高扩展性(scalability)和高伸缩性

Solr字段类型field type的定义

摘要: Solr的字段类型定义了Solr如何解析字段数据并将数据检索出来,了解Solr的字段类型定义有助于更好的配置与使用Solr. 字段类型的定义 字段类型的定义主要包含如下四个方面的信息: 名称 实现的类名 如果field type 是TextField,则可以指定字段解析器 字段类型属性 在schema.xml中定义的字段类型 字段类型在schema.xml中指定,每一个字段类型被定义在fieldType标签之间,下面这个例子是一个text_general的字段类型: <fieldType

Solr文本分析剖析【文本分析、分词器详解、自定义文本分析字段及分词器】

一.概述 Solr文本分析消除了索引词项与用户搜索词项之间的语言差异,让用户在搜索buying a new house时能找到类似的内容,例如:purchasing a new home这样的文档.如果搭配恰当,文本分析就能允许用户使用自然语言进行搜索,而无需考虑搜索词项的所有可能形式.毕竟谁也不想看到为了相似搜索而构造这样的查询表达式:buying house OR purchase home OR buying a home OR purchasing a house .... 用户可以使用