这里描述了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. NovaMind *的安装、和谐破解到永久使用

    XMind *思维导图的安装步 同类型的软件,这两款软件: XMind 和 NovaMind,各有所长.建议,都安装,合适的时候方便使用. XMind界面如下: NovaMind界面如下: 本博文,主 ...

  2. [转]模拟HttpContext 实现ASP.NET MVC 的单元测试

    众所周知 ASP.NET MVC 的一个显著优势即可以很方便的实现单元测试,但在我们测试过程中经常要用到HttpContext,而默认情况下单元测试框架是不提供HttpContext的模拟的,本文通过 ...

  3. ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、Server.MapPath(转载)

    1.Request.ApplicationPath->当前应用的目录   Jsp中, ApplicationPath指的是当前的application(应用程序)的目录,ASP.NET中也是这个 ...

  4. HDU 5705 Clock (精度控制,暴力)

    题意:给定一个开始时间和一个角度,问你下一个时刻时针和分针形成这个角度是几点. 析:反正数量很小,就可以考虑暴力了,从第一秒开始暴力,直到那个角度即可,不会超时的,数目很少,不过要注意精度. 代码如下 ...

  5. 数据库连接池 c3p0 demo 代码和分析

    import java.sql.Connection; import java.sql.SQLException; import java.beans.PropertyVetoException; i ...

  6. 特现C语言编程特点的小代码,itoa,数值转换成字符串

    #define BASE_MAX (26 + 10) char const* itostr(int x, int base) { /* map 居中, 支技负余数 */ static char con ...

  7. css 关于两栏布局,左边固定,右边自适应

    好几个星期都没写博客了,最近不忙也不闲,稀里糊涂过了两个星期,之前几个月内天天坚持签到.最近也没签到.哈哈,说正事. 今天做东钿互金平台后台页面,昨天做了一个登录页面,业偶碰到了一个难题.等下也要把它 ...

  8. 使用JAVA对字符串进行DES加密解密(修正问题)

    http://blog.csdn.net/seraphwh/article/details/6801123

  9. jquery操作select 的value和text值

    获取select 的text值: $('#testSelect option:selected').text(); 获取select 的value值: $('#testSelect').val(); ...

  10. sql server 复制 需要有实际的服务器名称才能连接到服务器……

    原因是:之前修改过服务器实例名称执行一下语句 select @@servername select SERVERPROPERTY ('servername') 可以看到,两个不同的结果 修改实例名称i ...