这里描述了schema.xml中的其他几个重要的元素.

唯一主键-Unique Key

  uniqueKey元素一篇文档的唯一标记,它几乎总是保证您的应用程序设计,例如,如果你更新索引中的文档,需要用到唯一主键uniqueKey来操作.

<uniqueKey>id</uniqueKey>

  从solr 4开始,schema默认值和copyFields字段不能用于填充uniqueKey 字段.同样也不能使用UUIDUpdateProcessorFactory来自动生成uniqueKey的值.

默认搜索字段

  如果使用Lucene的查询解析器,没有指定名称的查询使用默认的defaultSearchField对应的字段.DisMax和Extended DisMax查询解析器不会使用这个默认值.

警告:
defaultSearchField已经废弃,在solr3.6以及更高版本.相应的,可以使用df请求参数.在某些时候,defaultSearchField可能会被移除.

关于更多的查询解析器的信息,参考Query Syntax and Parsing

查询解析器的默认操作

  在查询多个词(term)时,solr既可以返回全部词汇都包含的文档,也可以返回部分词汇包含的文档.解析器的默认操作既不是DisMax也不是Extended DisMax

.默认操作为OR.

警告:
查询解析器默认操作参数在solr3.6以及更高版本已经废弃,可以在请求处理器(handler)中设置q.op参数来代替.

Similarity-相似度

  Similiarity是一个Lucene类,用来评分一个文档.这个类可以改变,以便提供一个自定义的排序.对于solr4,你可以为每一个字段配置一个不同的similarity.意思就是评分一个文档,将会依赖于每个字段(filed)的不同而不同.尽管如此,仍需要在schema.xml中配置一个全局性的similarity,使暗含的DefaultSimilarityFactory实例使用.

  全局的<similarity>声明可以指定一个自定义的similarity实现,用来让solr处理索引时使用.similarity可以直接通过关联一个无参构造器的类的名称来指定.

<similarity class="solr.DefaultSimilarityFactory"/>

  或者关联一个SimilarityFactory的实现,包含一些可选的初始化参数:

<similarity class="solr.DFRSimilarityFactory">
<str name="basicModel">P</str>
<str name="afterEffect">L</str>
<str name="normalization">H2</str>
<float name="c">7</float>
</similarity>

  solr4开始,similarity工厂可以在个别的字段类型中指定:

<fieldType name="text_ib">
<analyzer/>
<similarity class="solr.IBSimilarityFactory">
<str name="distribution">SPL</str>
<str name="lambda">DF</str>
<str name="normalization">H2</str>
</similarity>
</fieldType>

  这个例子中使用了IBSimilarityFactory,还有几个其他的similarity实现需要使用到,对于solr4.2来说,添加了SweetSpotSimilarityFactory.其他的选项还包括BM25SimilarityFactory,DFRSimilarityFactory,SchemaSimilarityFactory等.更多的细节,请参考similarity factories

相关主题

  SchemaXML-Miscellaneous Settings

  UniqueKey

1.4.6 其他Schema元素的更多相关文章

  1. XSD - <schema> 元素

    <schema> 元素 <schema> 元素是每一个 XML Schema 的根元素: <?xml version="1.0"?> <x ...

  2. webservice03#schema#元素属性定义

    工具软件XMLSpy 2010 破解版,是非常好的写XMl的工具软件. 1,Schema的好处: Schema出现的目的是通过一个更加合理的方式来编写xml的限制文件(基于xml语法的方式): Sch ...

  3. XML Schema命名空间解析

    URI Web中汇集了各种资源.资源可以是具有标识的任何事物, 如文档. 文件. 菜单项. 计算机. 服务等, 甚至可以包括人. 组织和概念[BernersLee 1998].在Web体系结构中, ...

  4. Solr:Schema设计

    本文已挪至  http://www.zhoujingen.cn/blog/8546.html Solr将数据以结构化的方式存入系统中,存储的过程中可以对数据建立索引,这个结构的定义就是通过schema ...

  5. XML学习笔记(三) -- Schema

    标签(空格分隔): 学习笔记 Schema的格式 XML Schema文档是由元素.属性.命名空间和XML文档中的其他节点构成的. XML Schema有两种重要的Schema模型:Microsoft ...

  6. XML Schema的基本语法(转)

    XML Schema的基本语法(转) XSDL(XML Schema定义语言)由元素.属性.命名空间和XML文档种的其他节点构成的. 一.XSD中的元素 XSD文档至少要包含:schema根元素和XM ...

  7. Solr5之Schema.xml详解

    schema.xml 是用来定义索引数据中的域的,包括域名称,域类型,域是否索引,是否分词,是否存储,是否标准化即 Norms ,是否存储项向量等等. schema.xml 配置文件的根元素就是 sc ...

  8. XML详解:第二部分 XML Schema

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  9. xml之Schema架构

    1.什么是Schema架构 2.Schema文档结构  3.Schema元素类型 1>element元素 <!--简单数据:类型--> <xs:element name=&qu ...

随机推荐

  1. 《Pandoc用户指南》之一

    @(编程) 1. 描述 Pandoc是一个用于从一种标记格式转换为另一种的Haskell库,还是一个使用该库的命令行工具.它可以读取markdown格式和Textile格式(的子集).reStruct ...

  2. 理解js闭包(二)

    @(编程) 一.什么是闭包? 官方"的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 相信很少有人能直接看懂这句话,因为他 ...

  3. PCB板简易流程

    PCB布线规则设置 在进行布线之前一般要进行布线规则的设置,(因为元器件的封装已经画出了元件实际的轮廓大小,所以放置元件封装时,即使两个元件封装挨着也一般不会影响元件的实际安装,不过一般还是稍留一点距 ...

  4. 深入学习JavaScript对象

    JavaScript中,除了五种原始类型(即数字,字符串,布尔值,null,undefined)之外的都是对象了,所以,不把对象学明白怎么继续往下学习呢? 一.概述 对象是一种复合值,它将很多值(原始 ...

  5. windows服务安装及卸载

    1)安装脚本Install.bat%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe JobSchedule.exeNet ...

  6. 接口是干爹, 继承是亲爹 ---JAVA

    接口(interface)是干爹, 因为你可以有很多很多的干爹爹... 继承(extends)是亲爹, 因为你只能有一个父类, 只有一个亲生的父亲. 单继承,多接口?./>./..

  7. Codeforces Round #313 (Div. 2) E. Gerald and Giant Chess (Lucas + dp)

    题目链接:http://codeforces.com/contest/560/problem/E 给你一个n*m的网格,有k个坏点,问你从(1,1)到(n,m)不经过坏点有多少条路径. 先把这些坏点排 ...

  8. ecshop二次开发

    模板开发首页参考资料: http://book.ecmoban.com/ http://pan.baidu.com/s/1bnezFUv 自行修改ecshop读写分离设置,请查看另一篇文章,ecsho ...

  9. .NET/C#- EPPLUS DEMO

    强大的导出EXCEL,比NPOI更好用,更强大,可惜只有4.0版本的. 记录一下DEMO var sheet = p.Workbook.Worksheets.Add("My Sheet&qu ...

  10. Unity3d:如何让程序在失去焦点时,继续运行,而不是暂停呢?

    问题描述如题.解决方案: <ignore_js_op> <ignore_js_op>