首先,讲解一下/usr/local/solr/collection1/conf/schema.xml的配置,此文档功能类似于配置索引数据库。

Field:类似于数据库字段的属性(此文统一使用用“字段”描述它),请看一条field

<field name="user" type="string" indexed="true" stored="true" multiValued="true" /> 

name:当前字段名 type:当前字段使用的分词类型(在schemal.xml文件的fieldType中进行配置) indexed:当前字段进行索引(当用户查询时可以使用到该字段) stored:当前字段进行存储(当用户查询到该字段时,能返回字段的原文) multiValued:当前字段可存在多个值(如:user字段可存储多个用户)

fieldType:字段处理,此类节点可以配置各种数据类型的处理方式,如:分词,过滤

<fieldType name="textComplex" class="solr.TextField">
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="/usr/local/solr/dic"/>
</analyzer>
</fieldType>

copyField:当添加一条索引时,可将source字段的值复制到dest字段上去,可设置多个source字段指向同一个dest字段,这样对dest进行索引的话,可以查询到所有source字段的索引。

如:在一个新闻系统中,将标题,内容复制到一个统一的字段,这样搜索all字段时,只要title,content中任意存在就能被搜索到。

<copyField source="title" dest="all"/>
<copyField source="content" dest="all"/>

OK,此文档配置成功后,接下来可以添加一条索引试试效果,在solr的后台管理界面可以直接添加索引,并做查询,分析测试。

solr为我们准备了一些文档添加实例,可以参考一下:http://svn.apache.org/repos/asf/lucene/dev/trunk/solr/example/exampledocs/

<add>
<doc>
<field name="employeeId"></field>
<field name="office">Bridgewater</field>
<field name="skills">Perl</field>
<field name="skills">Java</field>
</doc>
[<doc> ... </doc>[<doc> ... </doc>]]
</add>

此配置文档还有两个重要的配置节点

  <uniqueKey>节点用于配置主键,跟数据库主键功能类似,主要用于标示一条数据,当要删除一条数据时可以用该值精确定位,当添加数据主键重复时可设置是覆盖,还是更新。

 <uniqueKey>clipId</uniqueKey>

   <defaultSearchField>节点用于配置查询默认字段,当查询数据时,未指定具体查询字段,将使用该默认字段。

 <defaultSearchField>_all</defaultSearchField>

solr schema.xml文档节点配置的更多相关文章

  1. java中XML操作:xml与string互转、读取XML文档节点及对XML节点增删改查

    一.XML和String互转: 使用dom4j程式变得很简单 //字符串转XML String xmlStr = \"......\"; Document document = D ...

  2. Java获取XML节点总结之读取XML文档节点

    dom4j是Java的XML API,用来读写XML文件的.目前有很多场景中使用dom4j来读写xml的.要使用dom4j开发,需要下载导入dom4j相应的jar文件.官网下载:http://www. ...

  3. 关于Spring的xml文档的简单实用配置

    Spring的spring.xml文档的配置 最近在写Spring的配置文件时,发现Spring文档的配置其实没必要那么繁琐记忆,网上的很多文章都写得很繁琐,如果所有的东西按照路径去查找,可以很快的帮 ...

  4. 根据Schema写出XML文档四部曲

    Schema约束文档本身就是一个XML文档,扩展名为xsd 难点:XML文档的根元素怎么写? 如下4步曲: a.首先看Schema文档,找到根元素 <?xml version="1.0 ...

  5. XMLHelper类 源码(XML文档帮助类,静态方法,实现对XML文档的创建,及节点和属性的增、删、改、查)

    以下是代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...

  6. Solr Schema.xml和solrconfig.xml分析(转)

    Solr Schema.xml和solrconfig.xml分析 (http://yinwufeng.iteye.com/blog/964040) 一.字段配置(schema) schema.xml位 ...

  7. dom4j解析xml文档全面介绍

    一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...

  8. 使用JAXP对XML文档进行DOM解析

    import java.io.FileOutputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers. ...

  9. XPath操作XML文档

    NET框架下的Sytem.Xml.XPath命名空间提供了一系列的类,允许应用XPath数据模式查询和展示XML文档数据. 3.1XPath介绍 主要的目的是在xml1.0和1.1文档节点树种定位节点 ...

随机推荐

  1. mysql 目录的了解以及Linux

    Linux   目录                描述 /                                                                       ...

  2. 在Web工程中引入Jquery插件报错解决方案

    在学习Jquery插件的时候,遇到一个问题就是新建web工程后在WebRoot下引入Jquery插件的时候报错,不知道为什么好纠结,但是项目能正常运行,后来找到解决方案,在这里给大家分享一下. 解决方 ...

  3. SqlMapConfig.xml

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurationPUBLIC &qu ...

  4. CMake学习笔记

    C++开发者必备技能CMake  先简单介绍一下,CMake是一个跨平台的编译工具,它可以根据不用的平台,不同的编译环境,生成不同的MakeFile,从而控制编译的过程. 使用CMake的步骤: 1. ...

  5. C++11的简单线程池代码阅读

    这是一个简单的C++11实现的线程池,代码很简单. 原理就是管理一个任务队列和一个工作线程队列. 工作线程不断的从任务队列取任务,然后执行.如果没有任务就等待新任务的到来.添加新任务的时候先添加到任务 ...

  6. bootstrap validate 实现页面动态验证(formvalidate)

    关于基本的bootstrap validate 验证方法外面有许多博客上都有讲解,我就不在过多叙述了.大家也可以去看官网api:http://bv.doc.javake.cn/api/ 今天要说的是动 ...

  7. 【JSTREE】 复选框默认选中【总结】

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  8. iOS-最全的App上架教程

    App上架教程 心情有没有好一点 在上架App之前想要 真机测试的同学 请查看iOS- 最全的真机测试教程 里面包含怎么让多台电脑同时 上架App和同时真机调试.P12文件的使用详解 因为最近更新了X ...

  9. CentOS系统中基于Apache+php+mysql的许愿墙网站的搭建

    1.首先,我们需要两台虚拟机(CentOS7,Linux文本). 2.给两台虚拟机配置网络环境分别为桥接模式 CentOS7 ip为192.168.100.139.24,linux文本ip为192.1 ...

  10. VC++ : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>

    最近学习Google Breakpad,将其用在了自己的项目中,编译的版本为VS2010,没有什么问题.但是为了和之前的程序兼容,需要使用VS2008版本的程序,于是又编译了VS2008版本的代码,但 ...