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. windows下揪出java程序占用cpu很高的线程 并找到问题代码 死循环线程代码

    我的一个java程序偶尔会出现cpu占用很高的情况 一直不知道什么原因 今天终于抽时间解决了 系统是win2003 jvisualvm 和 jconsole貌似都只能看到总共占用的cpu 看不到每个线 ...

  2. Message Forwarding

    [Preprocess] 在使用forwarding机制前,会先经历2个步骤,只有当这2个步骤均失败的情况下,才会激活forwarding. 1.+(BOOL)resolveInstanceMetho ...

  3. Gradle 1.3之前的Publishing artifacts

    在Gradle1.3之前,Publishing artifacts是使用uploadConfigurationName来publish 声明artifacts是靠使用 build.gradle art ...

  4. windows XP系统内核文件分析(全)

    Windows XP个别 System32 文件 System32 文件夹下个别要移除的文件 我们就要删除另外600 个 system32 文件...我们要一次把它们全都解决掉. 以下是我所删除的 S ...

  5. android 自定义用相机拍照后的照片存储位置

    1.imageUri = Uri.fromFile(new File(Environment .getExternalStorageDirectory()+ File.separator + getP ...

  6. Domino 迁移到Exchange 服务器 之在Domino Server 创建用户!

    我们打开Lotus Admin,导航到注册,点击到需要设置的人,然后再选择验证者标识符选择相应的组织配置标识符:

  7. Xcode——创建你自己的Framework

    (注:以下内容是基于Xcode7.2.1操作的,版本不一,可能界面内容不同!) 如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件.然而,这种方法并不是很优雅.它会暴露所有的实现细节,而这 ...

  8. jqeuery $.ajax 与后台jsone交互

    ============================action后台,我这里是SpringMVC================================================@C ...

  9. Objective-C 学习记录--toches、Motion/Size/Rect/Point/CGFloat/protocol

    - (void)touchesBegan touchesEnd touchesCancelled touchesMoved //代表的是手指在屏幕上的动作,开始 结束 取消 移动 //还有就是代表摇动 ...

  10. 函数WideCharToMultiByte() 详解

    函数原型: int WideCharToMultiByte( UINT CodePage, DWORD dwFlags, LPWSTR lpWideCharStr, int cchWideChar, ...