putting the pieces together

  在最高的级别,schema.xml结构如下,

<schema>
<types>
<fields>
<uniqueKey>
<defaultSearchField>
<solrQueryParser defaultOperator>
<copyField>
</schema>

  明显的,这最重要的内容是在types和fields中,也就是字段类型和实际字段定义存在的地方.这些字段也可以通过copyFields补充,夹在字段fields和复制字段copyField之间的是唯一主见uniqueKey,默认搜索字段和默认查询操作.

  选择合适的数据类型

  用于一般的数字需要,使用可排序的字段类型,SortableIntField,SortableLongField,SortableFloatField和SortableDoubleField.这些字段类型将会按照数字排序,而不是按照字典顺序排序.

  如果用户希望在数字类型上做频繁的范围查询,考虑使用TrieField类型.它以增加索引大小为成本的基础之上提供了更快速度的范围查询.

  使用Text

  通过文本搜索提供给你的用户最可能的结果集,这样妥善的处理文本的方式会使你得用户很高兴.

  一种技术就是使用text字段作为关键字搜索的捕捉字段.大多数用户的搜索并不是很复杂,基本上都是一个简单的关键词搜索,你可以使用copyField来获取多种字段,然后将它们全部导入到一个简单的text字段用于关键词搜索.这个例子中的schema代表了一个商店,copyField字段用于存储cat,name,manu,features和includes到一个单独的字段text.另外,将ID复制到text中以防用户想要通过商品的id号来搜索.

  另一种技术就是使用copyFiled,以不同的方式来使用同一个字段.假如你有一个字段author,表示作者的列表.像这样:

   Schildt, Herbert; Wolpert, Lewis; Davies, P.

  通过作者来搜索,你需要标记(tokenize)这个字段,转换小写,去掉标点符号:

    schildt / herbert / wolpert / lewis / davies / p

  对于排序,只需要为标记(untokenized)字段,转换小些,去掉标点符号.

   schildt herbert wolpert lewis davies p

  最后,对于分面(facet),只需要主要作者,使用StringField.

   Schildt, Herbert

1.4.8 拼凑在一起(putting the pieces together)的更多相关文章

  1. 1.1 Introduction中 Putting the Pieces Together官网剖析(博主推荐)

    不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Putting the Pieces Together 拼在一起 This comb ...

  2. 1.4 Documents,Fields和Schema设计--目录

    1.4.1.Documents,Fields和Schema概述 1.4.2 solr字段类型 1.4.2 solr字段类型--(1.4.2.1)字段类型定义和字段类型属性 1.4.2 solr字段类型 ...

  3. 我看的公开课系列--《TED:对无知的追求》 by stuart firestein

    http://open.sina.com.cn/course/id_1047/ What scientists do is not just collect data and collect fact ...

  4. IP, TCP, and HTTP--reference

    IP, TCP, and HTTP Issue #10 Syncing Data, March 2014 By Daniel Eggert When an app communicates with ...

  5. 3 kafka介绍

     本博文的主要内容有 .kafka的官网介绍 http://kafka.apache.org/ 来,用官网上的教程,快速入门. http://kafka.apache.org/documentatio ...

  6. Kafka官方文档翻译——简介

    简介 Kafka擅长于做什么? 它被用于两大类应用: 在应用间构建实时的数据流通道 构建传输或处理数据流的实时流式应用 几个概念: Kafka以集群模式运行在1或多台服务器上 Kafka以topics ...

  7. 详谈kafka的深入浅出

    第一:kafka的介绍,kafka官网:http://kafka.apache.org/ http://www.jasongj.com/2015/03/10/KafkaColumn1/ kafka的简 ...

  8. Kafka介绍 (官方文档翻译)

    摘要:Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动 ...

  9. [转帖]IOC Security: Indicators of Attack vs. Indicators of Compromise

    IOC Security: Indicators of Attack vs. Indicators of Compromise https://www.crowdstrike.com/blog/ind ...

随机推荐

  1. 创建svn仓库脚本

    #!/bin/bash svnadmin create $1 cp /home/svndata/conf/svnserver.conf /home/svndata/$1/conf/svnserve.c ...

  2. lambda表达式和ef的语句转化

    这两者转化可以用linqpad进行转化, 首先推荐一个网站可以了解一下orderby的排序方式 http://www.csharpwin.com/csharpspace/614.shtml 然后下面有 ...

  3. [中文版] 可视化 CSS References 文档

    本文分享了我将可视化 CSS References 文档翻译成中文版的介绍,翻译工作还在陆续进行中,供学习 CSS 参考. 1. 可视化 CSS References 文档介绍 许多 CSS 的文档都 ...

  4. jquery获取kindEditor值

    KE.show({            id: 'txtMessage',            imageUploadJson: '/ajax/Manager/keupload.ashx?ptyp ...

  5. android 小方法

    小方法 1.获取屏幕分辨率: public class BaseTools { public static int getWindowWidth(Context context) { // 获取屏幕分 ...

  6. [转载]SQL Server内核架构剖析

    原文链接:http://www.sqlserver.com.cn 我们做管理软件的,主要核心就在数据存储管理上.所以数据库设计是我们的重中之重.为了让我们的管理软件能够稳定.可扩展.性能优秀.可跟踪排 ...

  7. 转载:as3.0下对象类型返回值与变量默认值的详细说明

    转自:http://www.cuplayer.com/player/PlayerCodeAs/2012/0905367.html Null.NaN.undefined 及各自应用对象:变量的默认值: ...

  8. js原生appendChild的bug

    appendChild 主要是用来追加节点 插入到最后 window.onload = function(){ var ul2 = document.getElementById('ul2'); va ...

  9. MySQL 多会话之间更新数据的小实例

    1:创建一个实验表 mysql> use test; mysql> CREATE TABLE t -> (id int(11) NOT NULL DEFAULT 0, -> n ...

  10. Python 存储模型

    1.Python彻底分离了对象和引用,可以认为内存中的对象都是不可修改的,每次修改引用,相当于在堆上重新创建一个对象,引用指向新对象. 2.对于数值和字符串,修改意味着引用指向一个新对象. 3.集合中 ...