搜档网
当前位置:搜档网 › Solr开发指南

Solr开发指南

Solr开发指南
Solr开发指南

Solr

全文检索技术

1.Solr介绍 15

2.Solr安装配置-SolrCore配置 15

3.Solr安装配置-Solr工程部署 10

4.Solr安装配置-Solr工程测试 15

5.Solr安装配置-多SorlCore配置 10

6.Solr入门--schema 20

7.Solr入门-安装中文分词器 15

8.Solr入门-自定义业务系统Field 20

9.Solr入门-SolrJ介绍10

10.Solr入门-SolrJ索引维护 20

11.Solr入门-数据导入处理器20

12.Solr入门-搜索语法 10

13.Solr入门-SolrJ-搜索 20

14.Solr案例-需求分析 10

15.Solr案例-架构设计 15

16.Solr案例-Service 20

17.Solr案例-Controller 20

18.Solr案例-主体调试 20

19.Solr案例-功能完善

1【Solr介绍】

1.1S olr是什么

Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。

Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中,Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr根据xml文档添加、删除、更新索引。Solr 搜索只需要发送 HTTP GET 请求,然后对 Solr 返回Xml、json等格式的查询结果进行解析,组织页面布局。Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。

1.2S olr与Lucene的区别

Lucene是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,Lucene提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者以Lucene为基础构建全文检索引擎。

Solr的目标是打造一款企业级的搜索引擎系统,它是一个搜索引擎服务,可以独立运行,通过Solr可以非常快速的构建企业的搜索引擎,通过Solr也可以高效的完成站内搜索功能。

1.3Solr下载

从Solr官方网站(https://www.sodocs.net/doc/5a4479805.html,/solr/ )下载Solr4.10.3,根据Solr的运行环境,Linux下需要下载lucene-4.10.3.tgz,windows下需要下载lucene-4.10.3.zip。

Solr使用指南可参考:https://https://www.sodocs.net/doc/5a4479805.html,/solr/FrontPage。

下载solr-4.10.3.zip并解压:

bin:solr的运行脚本

contrib:solr的一些贡献软件/插件,用于增强solr的功能。

dist:该目录包含build过程中产生的war和jar文件,以及相关的依赖文件。

docs:solr的API文档

example:solr工程的例子目录:

●example/solr:

该目录是一个包含了默认配置信息的Solr的Core目录。

●example/multicore:

该目录包含了在Solr的multicore中设置的多个Core目录。

●example/webapps:

该目录中包括一个solr.war,该war可作为solr的运行实例工程。

licenses:solr相关的一些许可信息

1.4运行环境

solr 需要运行在一个Servlet容器中,Solr4.10.3要求jdk使用1.7以上,Solr 默认提供Jetty(java写的Servlet容器),本教程使用Tocmat作为Servlet容器,环境如下:

Solr:Solr4.10.3

Jdk:jdk1.7.0_72

Tomcat:apache-tomcat-7.0.53

2Solr安装配置

2.1S olr与Tomcat整合

2.1.1【SolrCore配置】

2.1.1.1SolrHome与SolrCore

创建一个Solr home目录,SolrHome是Solr运行的主目录,目录中包括了运行Solr 实例所有的配置文件和数据文件。

Solr实例即SolrCore,一个SolrHome中可以包括多个SolrCore目录,每个SolrCore对外提供单独的搜索和索引服务。

2.1.1.2目录结构

example\solr是一个solr home目录结构,如下:

collection1:叫做一个Solr运行实例SolrCore也称为一个collection,SolrCore 的名称不固定,命名方式类似collection1/collection2/collection3等,每个collection对外单独提供索引和搜索接口。

solrHome中可以创建多个solrCore即collection。

SolrCore目录内容如下所示:

说明:

(1)一个solrCore中包括一个索引目录,该目录存储了该 SolrCore的索引文件。data 是SolrCore的索引文件目录,如果没有solr会自动创建。

(2)conf是SolrCore的配置文件目录:里面包括两个重要的配置文件solrconfig.xml 与schema.xml配置文件

2.1.1.3创建SolrCore

创建目录F:\develop\solr

将example\solr目录拷贝至 F:\develop\solr目录下并改名为solrHome。

将contrib和dist两个目录拷贝到F:\develop\solr下。

SolrHome下:

2.1.1.4SolrCore配置

每个SolrCore的conf目录下有solrconfig.xml文件,它是SolrCore运行的配置文件。

2.1.1.4.1加载jar包

在solrconfig.xml中可以加载一些扩展的jar,solr.install.dir表示solrCore 的目录位置,需要根据扩展Jar的实际存放位置坐对应的修改:

2.1.1.4.2dataDir索引目录

每个SolrCore都有自己的索引文件目录,默认在SolrCore目录下的data中。

data数据目录下包括了index索引目录和tlog日志文件目录。

如果不想使用默认的目录也可以通过solrConfig.xml更改索引目录,如下:

2.1.1.4.3请求处理器

requestHandler请求处理器,定义了索引和搜索的访问方式。

通过/update维护索引,可以完成索引的添加、修改、删除操作。

提交xml、json数据完成索引维护,索引维护小节详细介绍。

通过/select搜索索引。

设置搜索参数完成搜索,搜索参数也可以设置一些默认值,如下:

explicit

10

json

text

2.1.2【Solr工程部署】

1.将dist\solr-4.10.3.war拷贝到Tomcat的webapp目录下改名为solr.war

2.启动tomcat后,solr.war自动解压,将原来的solr.war删除。

3.拷贝example\lib\ext 目录下所有jar包拷贝到Tomcat的

webapp\solr\WEB-INF\lib目录下

4.修改Tomcat目录下webapp\solr\WEB-INF\web.xml文件,如下所示:

设置Solrhome

5.拷贝log4j.properties文件

在 Tomcat下webapps\solr\WEB-INF目录中创建文件 classes文件夹,

复制Solr目录下example\resources\log4j.properties至Tomcat下webapps\solr\WEB-INF\classes目录

2.1.3启动Tomcat

访问http://localhost:8080/solr

2.2【管理界面】

2.2.1Dashboard:

仪表盘,显示了该Solr实例开始启动运行的时间、版本、系统资源、jvm等信息。

2.2.2Logging:

Solr运行日志信息

2.2.3Cloud:

Cloud即SolrCloud,即Solr云(集群),当使用Solr Cloud模式运行时会显示此菜单,如下图是Solr Cloud的管理界面:

2.2.4Core Admin:

Solr Core的管理界面。Solr Core 是Solr的一个独立运行实例单位,它可以对外提供索引和搜索服务,一个Solr工程可以运行多个SolrCore(Solr实例),一个Core对应一个索引目录。

2.2.5java properties

Solr在JVM 运行环境中的属性信息,包括类路径、文件编码、jvm内存设置等信息。

2.2.6Tread Dump

显示Solr Server中当前活跃线程信息,同时也可以跟踪线程运行栈信息。

2.2.7Core selector

选择一个SolrCore进行详细操作,如下:

2.2.8Analysis(重点)

通过此界面可以测试索引分析器和搜索分析器的执行情况。

2.2.9dataimport

可以定义数据导入处理器,从关系数据库将数据导入到Solr索引库中。

2.2.10Document(重点)

通过此菜单可以创建索引、更新索引、删除索引等操作,界面如下:

/update表示更新索引,solr默认根据id(唯一约束)域来更新Document的内容,如果根据id值搜索不到id域则会执行添加操作,如果找到则更新。

2.2.11query(重点)

通过/select执行搜索索引,必须指定“q”查询条件方可搜索。

2.3【多SolrCore配置】

配置多SolrCore的好处:

1.一个solr工程对外通过SorlCore 提供服务,每个SolrCore相当于一个数据库,

这个功能就相当于一个mysql可以运行多个数据库。

2.将索引数据分SolrCore存储,方便对索引数据管理维护。

3.SolrCloud集群需要使用多core。

复制原来的core目录为collection2,目录结构如下:

修改collection2下的core.properties,如下:

演示多core的使用,在collection1和collection2中分别创建索引、搜索索引。

3Solr基本使用

3.1【scheam.xml】

schema.xml,在SolrCore的conf目录下,它是Solr数据表配置文件,它定义了加入索引的数据的数据类型的。主要包括FieldTypes、Fields和其他的一些缺省设置。

3.1.1FieldType域类型定义

下边“text_general”是Solr默认提供的FieldType,通过它说明FieldType定义的内容:

FieldType子结点包括:name,class,positionIncrementGap等一些参数:

name:是这个FieldType的名称

class:是Solr提供的solr.TextField,solr.TextField 允许用户通过分析器来

定制索引和查询,分析器包括一个分词器(tokenizer)和多个过滤器(filter)

positionIncrementGap:可选属性,定义在同一个文档中此类型数据的空白间隔,避免短语匹配错误,此值相当于Lucene的短语查询设置slop值,根据经验设置为100。

在FieldType定义的时候最重要的就是定义这个类型的数据在建立索引和进行查询的时候要使用的分析器analyzer,包括分词和过滤

索引分析器中:使用solr.StandardTokenizerFactory标准分词器,

solr.StopFilterFactory停用词过滤器,solr.LowerCaseFilterFactory小写过滤器。

搜索分析器中:使用solr.StandardTokenizerFactory标准分词器,

solr.StopFilterFactory停用词过滤器,这里还用到了solr.SynonymFilterFactory 同义词过滤器。

3.1.2Field定义

在fields结点内定义具体的Field,filed定义包括name,type(为之前定义过的各种FieldType),indexed(是否被索引),stored(是否被储存),multiValued(是否存储多个值)等属性。

如下:

multiValued:该Field如果要存储多个值时设置为true,solr允许一个Field存储多个值,比如存储一个用户的好友id(多个),商品的图片(多个,大图和小图),通过使用solr查询要看出返回给客户端是数组:

3.1.3uniqueKey

Solr中默认定义唯一主键key为id域,如下:

Solr在删除、更新索引时使用id域进行判断,也可以自定义唯一主键。

注意在创建索引时必须指定唯一约束。

3.1.4copyField复制域

copyField复制域,可以将多个Field复制到一个Field中,以便进行统一的检索:比如,输入关键字要搜索title标题和作者author以及描述description三个域时,要用到复制域。定义title、authro、descripton、text的域:

Text域允许多个值。

根据关键字只搜索text域的内容就相当于搜索title、author、description,将title、author、description复制到text中,如下:

3.1.5dynamicField(动态字段)

动态字段就是不用指定具体的名称,只要定义字段名称的规则,例如定义一个dynamicField,name 为*_i,定义它的type为text,那么在使用这个字段的时候,任何以_i结尾的字段都被认为是符合这个定义的,例如:name_i,gender_i,school_i等。

自定义Field名为:product_title_t,“product_title_t”和scheam.xml中的dynamicField规则匹配成功,如下:

“product_title_t”是以“_t”结尾。

创建索引:

搜索索引:

3.2【安装中文分词器】

3.2.1IKAnalyzer部署

(1)将IKAnalyzer2012FF_u1.jar拷贝到 solr\contrib\IKAnalyzer\lib下,在solrconfig.xml中添加:

(2)在Tomcat的webapps/solr/WEB-INF/下创建classes目录

将IKAnalyzer.cfg.xml、ext_stopword.dicmydict.dic copy到

Tomcat/webapps/solr/WEB-INF/classes下

注意:ext_stopword.dic 和mydict.dic必须保存成无BOM的utf-8类型。

3.2.2修改schema.xml文件

1.FieldType

首先需要在types结点内定义一个FieldType子结点,包括name,class,等参数,name就是这个FieldType的名称,class指向org.apache.solr.analysis包里面对应的class名称,用来定义这个类型的行为。在FieldType定义的时候最重要的就是定义这个类型的数据在建立索引和进行查询的时候要使用的分析器analyzer,包括分词和过滤

修改Solr的schema.xml文件,添加FieldType:

在index或query分别配置isMaxWordLength,查询采用IK自己的最大分词法设置为true,索引则采用它的细粒度分词法设置为false。

2.Field:

FieldType定义好后就可以在fields结点内定义具体的field,filed定义包括name,type(即FieldType),indexed(是否被索引),stored(是否被储存),multiValued (是否有多个值)等

multiValued="true"/>

3.2.3测试

3.3【自定义业务系统Field】

如果不使用Solr提供的Field可以针对具体的业务需要自定义一套Field,如下是商品信息Field:

对Mysql数据库中的product表数据定义field:

solr技术方案

Solr技术方案 一用户需求 以前的互动平台只能对固定表的固定字段做like这样的数据库层面的索引,性能低下,用户体验很差,很难满足业务提出的简化搜索的需求。 需求原型: 业界通用的做全站搜索的基本上两种: 1 选择googleAPI,百度API做。同第三方搜索引擎绑定太死,无法满足后期业务扩展需要,而且全站的SEO做的也不是很好,对于动态的很多ajax请求需要做快照,所以暂时不采用。 2 选择现有成熟的框架。

这里我们选择使用solr。 Solr是一个基于Lucene的Java搜索引擎服务器。Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON 格式)。它易于安装和配置,而且附带了一个基于HTTP 的管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。Solr 包装并扩展了Lucene,所以Solr的基本上沿用了Lucene的相关术语。更重要的是,Solr 创建的索引与Lucene 搜索引擎库完全兼容。通过对Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他Lucene 应用程序中的索引。此外,很多Lucene 工具(如Nutch、Luke)也可以使用Solr 创建的索引。 这里我们主要需要以下几种功能: 1 可用性及成熟性。 2 中文分词。 3 词库与同义词的管理(比如我们使用最高的:股票代码)。 4 高亮显示。 5 方便的导入数据。 6 Facet的轻松配置 7 扩展性。 二Solr的体系结构 体系结构 Solr体系,功能模块介绍及配置。

以上是solr的架构图。具体应用时需要理解一下模块的作用及配置。 RequestHandler:接受请求,分发请求。另外也包含导入数据,如importhandler。UpdateHandlers –处理索引请求。 Search Components:作为handlder的成员变量。处理请求。 Facet:分类搜索 Tika:apache下处理文件的一个项目。 Filter,spelling :处理字符串 Http query/update Database/html importhandler 默认基本可以满足要求。如果不够则扩展相应的handler和component。

明锐AOI操作手册_简易版

明锐AOI 程序制作流程 一 、新建程序 1)单击此快捷功能图标时,将会创建一个新程序,弹出此新建程序的对话窗 2)将PCB 长度、宽度测量输出完成后,点“OK ”可进入具体元件的编程及调试。 二、获取图像 将 三、导CAD 当有CAD 时,可利用CAD 文件生成程序: 1. 点主界面左上角的“批量导入”按扭,进入到CAD 导入界面,如下 新建程序 读入程序 保存程序 更新在线机程序读入内容 整板旋转 分配FOV 对正Mark 点 获取图像 FOV 拍照 当前位置拍照 读入图像 保存图像

CAD文件须包括以下6项数据: 1)X数标、2)Y数据、3)元件名称、4)元件角度、5)元件封装、6)元件编码

当没有CAD 数据时,可从新建模块中手动添加及更换元件 2)当光标落在某一元件模板子库上时,会在界面下方显示此元件子库的具体图片,如下图 所示 此处显示选择的 模板子项图片 新建IC 新建Chip 新建引脚片式元件 新建正反面标志 新建组合逻辑元件 新建坏板标记 新建子板 新建窗口 新建插针 新建标记

1)当光标落在某一元件模板子库上时,会在界面下方显示此元件子库的具体图片,如上图 中所示。 四、制作标志 元件粘贴完成后,手动做Mark 点、坏板标记及正反面标识。完成此步骤之后可先保存程 序(第一次连整图一起保存) 此时,选取好Mark 点后,将Mark 处贴上元件,元件最好把Mark 点全包含在内; 4.抓取FOV 图,再将所有元件移正;如果是多拼板只移正一个单拼板即可,先不要急于复 制拼板程序; 新建IC 新建Chip 新建引脚片式元件 新建正反面标志 新建组合逻辑元件 新建坏板标记 新建子板 新建窗口 新建插针 新建标记(MARK 获取图像 FOV 拍照 当前位置拍照 读入图像 保存图像

SolrCloud使用教程、原理介绍 我心动了

SolrCloud使用教程、原理介绍 发布于2013 年 8 月 24 日,属于搜索分类,7,446 浏览数 SolrCloud 是基于 Solr 和 Zookeeper 的分布式搜索方案,是正在开发中的 Solr4.0 的核心组件之一,它的主要思想是使用 Zookeeper 作为集群的配置信息中心。 它有几个特色功能:①集中式的配置信息②自动容错③近实时搜索④查询时自动负载均衡。

下面看看 wiki 的文档: 1、SolrCloud SolrCloud 是指 Solr 中一套新的潜在的分发能力。这种能力能够通过参数让你建立起一个高可用、 容错的 Solr 服务集群。当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud(solr 云)。 看看下面“启动”部分内容,快速的学会怎样启动一个集群。后面有 3 个快速简单的例子, 它们展现怎样启动一个逐步越来越复杂的集群。检出例子之后,需要翻阅后面的部分了解 更加细节的信息。 2、关于 SolrCores 和 Collections 的一点儿东西 对于单独运行的 Solr 实例,它有个东西叫 SolrCore(Solr.xml 中配置的),它是本质上独立的 索引块。如果你打算多个索引块,你就创建多个 SolrCores。当同时部署SolrCloud 的时, 独立的索引块可以跨越多个 Solr 实例。这意味着一个单独的索引块能由不同服务器设备上多个 SolrCore 的索引块组成。我们把组成一个逻辑索引块的所有 SolrCores 叫做一个独立 索引块儿(collection)。一个独立索引块是本质上一个独立的跨越多个 SolrCore 索引块的索 引块,同时索引块尽可能随着多余的设备进行缩放。如果你想把你的两个 SolrCore Solr 建 立成 SolrCloud,你将有 2 个独立索引块,每个有多个独立里的 SolrCores 组成。 3、启动 下载 Solr4-Beta 或更高版本。 如果你还没了解,通过简单的Solr 指南让自己熟悉Solr。注意:在通过指南了解云特点前,重设所有的配置和移除指南的文档.复制带有预先存在的 Solr 索引的例子目录将导致文档计数关闭Solr 内嵌使用了Zookeeper 作为集群配置和协调运作的仓储。协调考虑作为一个包 含所有 Solr 服务信息的分布式文件系统。 如果你想用一个其他的而不是 8983 作为 Solr 端口,去看下面’ Parameter Reference’部分下 的关于solr.xml 注解 例 A:简单的 2 个 shard 集群 这个例子简单的创建了一个代表一个独立索引块的两个不同的 shards 的两个 solr 服务组成

Solr总结-吐血总结

Solr调研总结 1. Solr 是什么? Solr它是一种开放源码的、基于Lucene Java 的搜索服务器,易于加入到Web 应用程序中。Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式)。它易于安装和配置,而且附带了一个基于HTTP 的管理界面。可以使用Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。Solr的特性包括: ?高级的全文搜索功能 ?专为高通量的网络流量进行的优化 ?基于开放接口(XML和HTTP)的标准 ?综合的HTML管理界面 ?可伸缩性-能够有效地复制到另外一个Solr搜索服务器 ?使用XML配置达到灵活性和适配性 ?可扩展的插件体系 2. Lucene 是什么? Lucene是一个基于Java的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是Apache Jakarta(雅加达)家族中的一个开源项目。也是目前最为流行的基于Java开源全文检索工具包。目前已经有很多应用程序的搜索功能是基于Lucene ,比如Eclipse 帮助系统的搜索功能。Lucene能够为文本类型的数据建立索引,所以你只要把你要索引的数据格式转化的文本格式,Lucene 就能对你的文档进行索引和搜索。

3. Solr vs Lucene Solr与Lucene 并不是竞争对立关系,恰恰相反Solr 依存于Lucene,因为Solr底层的核心技术是使用Lucene 来实现的,Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene 不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括Solr: Solr 是Lucene面向企业搜索应用的扩展。 Solr与Lucene架构图: Solr使用Lucene并且扩展了它! ?一个真正的拥有动态字段(Dynamic Field)和唯一键(Unique Key)的数据模式(Data Schema) ?对Lucene查询语言的强大扩展! ?支持对结果进行动态的分组和过滤 ?高级的,可配置的文本分析 ?高度可配置和可扩展的缓存机制 ?性能优化

AOI编程手册

首先,感谢您购买BF-QA,印刷电路板高速视觉检查系统。 请仔细阅读该手册以及安装手册和操作手册,以确保正确的使用和操作该检测设备,从而保证机器的延长使用寿命。 该手册对软件用法,检测方法和算法等作了特别的描述。 手册中包含了大量的图例和说明以方便您能很容易地理解我们的系统。请您注意,由于我们不断的科研和开发而对本产品规格以及外型设计的任何变更,我们将不再另行通知。 目录 (1) (1) (1) (1) (2) (8) (8) (10) (11) (11) (11) (12) (12) (12) (14) (15) (15) (17) (18) (18) (20) (22) (22) (22) (29) (30) (30) (32) (33) (33) (34) (34)

(38) (39) (39) (44) (45) (45) (48) (50) (51) (53) (54) (54) (54) (54) (55) (56) (58) (58) (59) (59) (60) (61) (62) (62) (63) 附录(检测算法) (64) (64) ( (66) ( (67) (68) (68) ( (72) (73) ( (75) ( (77) (78) (79) (81) (81) (82) (82) ( (84) ( (85) ( (86) (88)

(90) (92) (94) (94) (96) (97) (97) (99) (99) (101) (103) (105) (106) (108) (110) (112) (114) (116) (120) (120) (121) (121)

solr使用手册

Solr全文检索服务 一、企业站内搜索技术选型 ?在一些大型门户网站、电子商务网站等都需要站内搜索功能,使用传统的数据库查 询方式实现搜索无法满足一些高级的搜索需求,比如:搜索速度要快、搜索结果按 相关度排序、搜索内容格式不固定等,这里就需要使用全文检索技术实现搜索功能。 1.使用Lucene实现?什么是Lucene ? ?Lucene是一个基于Java的全文信息检索工具包,它不是一个完整 的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是Apache Jakarta(雅加达) 家族中的一个开源项目。也是目前 最为流行的基于Java开源全文检索工具包。目前已经有很多应用程 序的搜索功能是基于Lucene ,比如Eclipse 帮助系统的搜索功能。 Lucene能够为文本类型的数据建立索引,所以你只要把你要索引的 数据格式转化的文本格式,Lucene 就能对你的文档进行索引和搜索 ●单独使用Lucene实现站内搜索需要开发的工作量较大,主要表现在:索 引维护、索引性能优化、搜索性能优化等,因此不建议采用。 2.使用Google或Baidu接口? ●通过第三方搜索引擎提供的接口实现站内搜索,这样和第三方引擎系统依 赖紧密,不方便扩展,不建议采用。 3.使用Solr实现? Solr是什么? ?Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于 Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语 言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。 ?Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中, Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一 个描述 Field 及其内容的 XML 文档,Solr根据xml文档添加、删 除、更新索引。Solr 搜索只需要发送 HTTP GET 请求,然后对 Solr 返回Xml、json等格式的查询结果进行解析,组织页面布局。Solr

solr查询语法

solr查询语法 Solr通过查询分析器的插件框架支持多种查询语法。在现有的分析器实现的插件,在Javadoc中看到qparserplugin的所有子类,和在QueryParser wiki页面查看。 指定查询分析器 用户可以指定在大多数地方,接受使用localparams语法查询字符串查询类型,例如:下面的查询字符串指定Lucene/Solr查询的默认操作”AND“和默认field的“text”: q={!lucene q.op=AND df=text}myfield:foo +bar –baz 在标准的SOLR搜索处理程序,该deftype参数可用于指定主查询的默认类型(IE:q参数)但它只影响主查询——所有其他查询参数的默认类型仍将Lucene。 q={!func}等效于solr标准查询的defType=func&q=popularity Default QParserPlugin: LuceneQParserPlugin 标准查询分析器语法Sol分析器是的Lucene的查询语法的一个超集,某些字符特殊和那些字符如果你想 与Lucene查询分析器的差异 在solr 中查询差异报告: 1、范围查询[ a TO z ],前缀查询a*,和通配符查询*b是常数评分(所有匹配的文件得到相同的分数)。 评分因素TF IDF,index boost,是没有用的。不限制terms次数的(如在Lucene的过去的版本)

2、A*可用于任一或两个端点来指定一个开放的范围查询。 field:[* TO 100]查询所有小与等于100的 field:[100 TO *]查询所有大于等于100的 field:[* TO *]查询所有文档 3、纯消极的查询(所有条款禁止)是允许的。 -inStock:false查询isStock字段值不是false的 -field:[* TO *]查询不在field字段内的值 4、函数查询 _val_:myfield _val_:"recip(rord(myfield),1,2,3)" 4、嵌套的任何类型的查询分析器查询支持(通过qparserplugin)。引用通常要封装嵌套查询如果它包含 保留字符。 例如:_query_:"{!dismax qf=myfield}how now brown cow" 虽然不是专门的语法差异,请注意如果你使用Solr”DateField”型,在这些领域的任何查询(典型的范围查询)应使用完整的ISO 8601的语法,,或datemath语法来获得相关数据。 ?timestamp:[* TO NOW] ?createdate:[1976-03-06T23:59:59.999Z TO *] ?createdate:[1995-12-31T23:59:59.999Z TO 2007-03-06T00:00:00Z]?pubdate:[NOW-1YEAR/DAY TO NOW/DAY+1DAY] ?createdate:[1976-03-06T23:59:59.999Z TO 1976-03-06T23:59:59.999 Z+1YEAR] ?createdate:[1976-03-06T23:59:59.999Z/YEAR TO 1976-03-06T23:59:5 9.999Z] dismax和edismax查询分析器 (E)的dismax查询分析器提供了查询时间字段级升压的粒度,更少的特殊语法。(E)dismax通常是最好的第一选择查询分析器面临Solr应用的用户。(e)在这里详细描述了dismax处理参数:dismaxqparserplugin和extendeddismax。 注:特殊字符转义网址 请注意,在Solr查询语法的许多特征(最显着的加号:“+”)是在URL中的特殊字符,所以在手动构建请

solr中文

solr中文:使用 Apache Solr 实现更加灵巧的搜索 第 2 部分: 用于企业的 Solr 疯狂代码 https://www.sodocs.net/doc/5a4479805.html,/ ?:http:/https://www.sodocs.net/doc/5a4479805.html,/DeveloperUtil/Article54041.html 本文举例源代码或素材下载 在本系列 第 1 部分我为您介绍了 Apache Solr种基于 HTTP 开源搜索服务器它可以很容易地和多种Web 应用集成我展示了 Solr 最基本功能包括索引、搜索和浏览介绍了 Solr 模式并解释了它在配置 Solr 功能方面作用在本部分中我将通过列举 Solr 作为大型生产环境中理想解决方案时所具备特性来完成对 Solr 介绍涵盖主题包括管理、缓存Cache、复制和可扩展性 请参阅 第 1 部分 来获得安装和设置 Solr 指导 配置和管理 本部分介绍了可用于监视和控制 Solr 功能性诸多选项首先来看看 Solr Administration Start Page该页可在 http://localhost:8080/solr/admin/ 找到旦找到了起始页在继续的前请务必花些时间熟悉下上面各种菜单选项在起始页中根据这些选项所提供信息区别对它们进行了分组: Solr 给出了有关这种活动模式(请参见 第 1 部分)、配置以及当前部署统计数据详细信息 App server 给出了容器当前状态包括 threading 信息以及所有 Java 系统属性列表 Make a Query 提供了调试查询所需快捷界面以及到功能更加全面查询界面链接 Assistance 提供了到外部资源有用链接以便理解和解决使用 Solv 可能遇到些问题 如下章节详细介绍了这些菜单选项并重点突出了其中管理特性 要使用 Solr 配置选项可以单击页上 CONFIG 链接这会显示当前 solrconfig.xml 文件您可以在 举例应用dw-solr/solr/conf 目录找到该文件现在让我们先来看看和索引和查询处理有关些常见配置选项而和 缓存Cache、复制 和 扩展 Solr 有关配置选项则留到后面章节再介绍 索引配置 Index 标记段定义了控制 Solr 索引处理低水平 Lucene 原因Lucene 基准发布(位于 Lucene 源代码contrib/benchmark 的下)包含了很多可用来对这些原因更改效果进行基准测试工具此外请参阅 参考资料 节中

高性能搜索solr 学习笔记 分享

高性能搜索SOLR 学习笔记分享 一.Query参数 1.CoreQueryParam查询的参数 1)q: 查询字符串,必须的。 2)q.op: 覆盖schema.xml的defaultOperator(有空格时用"AND"还是用"OR"操作逻 辑),一般默认指定。 3)df: 默认的查询字段,一般默认指定。 4)qt:query type,指定查询使用的Query Handler,默认为“standard”。 5)wt:writer type。指定查询输出结构格式,默认为“xml”。在solrconfig.xml中定义 了查询输出格式:xml、json、python、ruby、php、phps、custom。 6)echoHandler:是否在查询结果中显示使用的Query Handler名称。 7)echoParams:是否显示查询参数。none:不显示;explicit:只显示查询参数; all:所有,包括在solrconfig.xml定义的Query Handler参数。 8)indent - 返回的结果是否缩进,默认关闭,用indent=true|on 开启,一般调试 json,php,phps,ruby输出才有必要用这个参数。 9)version - 查询语法的版本,建议不使用它,由服务器指定默认值。 https://www.sodocs.net/doc/5a4479805.html,monQueryParameters 1)sort:排序,格式:sort=+[,+]…。 示例:(inStock desc, price asc)表示先“inStock”降序, 再“price”升序, 默认是相关性降序。。 2)start:用于分页定义结果起始记录数,默认为0。 3)rows:用于分页定义结果每页返回记录数,默认为10。 4)fq:filter query。使用Filter Query可以充分利用Filter Query Cache,提高检索性 能。作用:在q查询符合结果中同时是fq查询符合的,例如: q=mm&fq=date_time:[20081001 TO 20091031],找关键字mm,并且date_time 是20081001到20091031之间的。 5)fl:field list。指定返回结果字段。以空格“ ”或逗号“,”分隔。 6)debugQuery:设置返回结果是否显示Debug信息。 7)explainOther:设置当debugQuery=true时,显示其他的查询说明。 8)defType:设置查询解析器名称。 9)timeAllowed:设置查询超时时间。 10)omitHeader:设置是否忽略查询结果返回头信息,默认为“false”。

Jutze AOI使用手册

MI2000使用手册

目录 MI2000使用手册--------------------------------------------------------------------------------- 1 第一章 1.1外观介绍-------------------------------------------------------------------------- 3 1.1.1 设备外观介绍---------------------------------------------------------- 3 1.1.2 操作界面介绍--------------------------------------------------------- 4 1.2开机流程--------------------------------------------------------------------------- 6 1.3关机流程--------------------------------------------------------------------------- 7 1.4 不良类型中英文对照表------------------------------------------------------- 8 1.5 不良类型从属关系介绍------------------------------------------------------- 9 1.6 不良图片说明------------------------------------------------------------------- 10 1.7维修界面使用介绍------------------------------------------------------------- 13 1.8 转产流程-------------------------------------------------------------------------- 12 第二章 2.1 快捷键介绍----------------------------------------------------------------------- 13 2.2 故障及解决方案------------------------------------------------------------ ---- 14

Solr开发指南

Solr 全文检索技术

1.Solr介绍 15 2.Solr安装配置-SolrCore配置 15 3.Solr安装配置-Solr工程部署 10 4.Solr安装配置-Solr工程测试 15 5.Solr安装配置-多SorlCore配置 10 6.Solr入门--schema 20 7.Solr入门-安装中文分词器 15 8.Solr入门-自定义业务系统Field 20 9.Solr入门-SolrJ介绍10 10.Solr入门-SolrJ索引维护 20 11.Solr入门-数据导入处理器20 12.Solr入门-搜索语法 10 13.Solr入门-SolrJ-搜索 20 14.Solr案例-需求分析 10 15.Solr案例-架构设计 15 16.Solr案例-Service 20 17.Solr案例-Controller 20 18.Solr案例-主体调试 20 19.Solr案例-功能完善

1【Solr介绍】 1.1S olr是什么 Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。 Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中,Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr根据xml文档添加、删除、更新索引。Solr 搜索只需要发送 HTTP GET 请求,然后对 Solr 返回Xml、json等格式的查询结果进行解析,组织页面布局。Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。 1.2S olr与Lucene的区别 Lucene是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,Lucene提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者以Lucene为基础构建全文检索引擎。 Solr的目标是打造一款企业级的搜索引擎系统,它是一个搜索引擎服务,可以独立运行,通过Solr可以非常快速的构建企业的搜索引擎,通过Solr也可以高效的完成站内搜索功能。 1.3Solr下载 从Solr官方网站(https://www.sodocs.net/doc/5a4479805.html,/solr/ )下载Solr4.10.3,根据Solr的运行环境,Linux下需要下载lucene-4.10.3.tgz,windows下需要下载lucene-4.10.3.zip。 Solr使用指南可参考:https://https://www.sodocs.net/doc/5a4479805.html,/solr/FrontPage。

VI 5K AOI操作说明书

第一章AOI 基本结构1.1AOI组成结构 1.1.1机台前预览 1)三色灯塔 2)前门(包含相机、光源、XY轴、传输轨道) 3)显示器 4)鼠标 5)键盘和鼠标 6)键盘、鼠标托架 7)停止按钮(OFF) 8)紧急停止开关 9)接地点 10)前门(包含主电路和电脑主机) 11)地角 12)总电源开关 1.1.2 顶部前门部分及XY轴 14)空气压杆 15)安全开关 16)后门 17)X轴后线性马达 18)X轴前线性马达 19)Y轴 20)X轴 21)Y轴坦克链 1.1.3 XY轴 A.XY轴平台 B.X轴 C.Y轴 D.X轴马达 E.Y轴马达 F.X轴硬停止挡块 G.线性马达线圈(磁性)

1.1.4 光源系统与相机 22)相机 23)光圈 25)镜头 26)水平光源 27)垂直光源 28)光源过滤片 1.1.5 传输轨道 29)夹板固定块 30)移动顶块 31)进板感应器 32)第一段轨道皮带马达 33)第二段轨道皮带马达 34)夹紧系统 35)减速感应器 36)停板感应器 37)轨道宽度调整马达 38)出板感应器 1.1.6 电脑和电路支架 39)电线线槽 40)电脑

41)主电路支架 1.1.7 主电路部分 42)变压器320W 43)变压器150W 44)变频器1 45)变频器2 46)空气开关(KMG) 47)继电器 48)集线器 49)光源控制卡 50)PLC模块 51)风扇 52)保险管 53)电源开关 54)变压器(5V,12V) 55)直通模式开关、安全功能开关 1.1.8 机台后预览 56)XY轴、相机光源、传输轨道后门 57)紧急停止开关 58)XY轴控制箱后门 59)风扇 60)设备出厂标记 1.1.9 轴系统控制器和设备对外接口 61)115/230VAC变压器 62)ACS轴控制系统 63)电源输入、网络、SMEMA接口

【黑马程序员】面试题-利用solr实现商品的搜索功能

【黑马程序员】面试题-利用solr实现商品的搜索功 能 问题提出:当我们访问购物网站的时候,我们可以根据我们随意所想的内容输入关键字就可以查询出相关的内容,这是怎么做到呢?这些随意的数据不可能是根据数据库的字段查询的,那是怎么查询出来的呢,为什么千奇百怪的关键字都可以查询出来呢? 答案就是全文检索工具的实现,luncence采用了词元匹配和切分词。举个例子:北京天安门------luncence切分词:北京京天天安安门等等这些分词。所以我们搜索的时候都可以检索到。 有一种分词器就是ik中文分词器,它有细粒度切分和智能切分,即根据某种智能算法。 这就使用solr的最大的好处:检索功能的实现。 使用步骤; (1)solr服务器搭建,因为solr是用java5开发的,所以需要jdk和tomcat。搭建部署 (2)搭建完成后,我们需要将要展示的字段引入solr的库中。配置sring与solr结合,工程启动的时候启动solr (3)将数据库中的查询内容导入到solr索引库,这里使用的是solrj的客户端实现的。具体使用可以参考api (4)建立搜索服务,供客户端调用。调用solr,查询内容,这中间有分页功能的实现。solr高亮显示的实现。 (5)客户端接收页面的请求参数,调用搜索服务,进行搜索。

业务字段判断标准: 1、在搜索时是否需要在此字段上进行搜索。例如:商品名称、商品的卖点、商品的描述 (这些相当于将标签给了solr,导入商品数据后,solr对这些字段的对应的商品的具体内容进行分词切分,然后,我们就可以搜索到相关内容了) 2、后续的业务是否需要用到此字段。例如:商品id。 需要用到的字段: 1、商品id 2、商品title 3、卖点 4、价格 5、商品图片 6、商品分类名称 7、商品描述 Solr中的业务字段: 1、id——》商品id 其他的对应字段创建solr的字段。 [AppleScript] 纯文本查看复制代码 ? 01 02 03 04 05 06 07

VI 5K AOI操作说明

第一章 AOI 基本结构 1.1AOI 组成结构 1.1.1机台前预览 1) 三色灯塔 2) 前门(包含相机、光源、XY 轴、传输轨道) 3) 显示器 4) 鼠标 5) 键盘和鼠标 6) 键盘、鼠标托架 7) 停止按钮(OFF ) 8) 紧急停止开关 9) 接地点 10) 前门(包含主电路和电脑主机) 11) 地角 12) 总电源开关 1.1.2 顶部前门部分及XY 轴 14) 空气压杆 15) 安全开关 16) 后门 17) X 轴后线性马达 18) X 轴前线性马达 19) Y 轴 20) X 轴 21) Y 轴坦克链 1.1.3 XY 轴 A. XY 轴平台 B. X 轴 C. Y 轴 D. X 轴马达 E. Y 轴马达 F. X 轴硬停止挡块 G. 线性马达线圈(磁性) 1.1.4 光源系统与相机

22) 相机 23) 光圈 25) 镜头 26) 水平光源 27) 垂直光源 28) 光源过滤片 1.1.5 传输轨道 29) 夹板固定块 30) 移动顶块 31) 进板感应器 32) 第一段轨道皮带马达 33) 第二段轨道皮带马达 34) 夹紧系统 35) 减速感应器 36) 停板感应器 37) 轨道宽度调整马达 38) 出板感应器 1.1.6 电脑和电路支架 39) 电线线槽 40) 电脑 41) 主电路支架 1.1.7 主电路部分 42) 变压器320W 43) 变压器150W 44) 变频器1 45) 变频器2 46) 空气开关(KMG) 47) 继电器 48) 集线器 49) 光源控制卡 50) PLC 模块 51) 风扇 52) 保险管 53) 电源开关 54) 变压器(5V,12V) 55) 直通模式开关、安全功能开关

solr中文文档

SOLR技术文档 1.了解lucene 原理,全文搜索概念,参考(https://www.sodocs.net/doc/5a4479805.html,/category/30179) .建立 自己的索引库. 2.了解solr参考(https://www.sodocs.net/doc/5a4479805.html,/developerworks/cn/java/j-solr1/, https://www.sodocs.net/doc/5a4479805.html,/developerworks/cn/java/j-solr2/).并下载实例程序. 3.搭建SOLR服务器 3.1官方下载 apache-solr-1.3.0.zip 和tomcat5.5 3.2将apache-solr-1.3.0\example\webapps\solr.war部署有 tomcat 下 3.3设置 solr 环境变量 apache-tomcat-5.5.26\conf\Catalina\localhost\下新建solr.xml文 件内容如下: 设置e:/tomcat/solr为solr主目录,建立文件夹. 3.4将apache-solr-1.3.0\example\solr 下所有文件复制到e:/tomcat/solr下 3.5启动 tomcat -> 浏览http://localhost:8080/solr/admin/能访问Solr Admin 页面说明 Solr 服务器设置成功. 4.为Solr 创建索引库 4.1在 e:/tomcat/solr 目录下新建名为data 的文件夹,再在data 下新建index名为文件 夹 4.2将lucene 创建好的索引放入e:/tomcat/solr/data/index 下 5.Solr 索引设置 5.1在e:/tomcat/solr /conf 下solrconfig.xml, schema.xml <2>中的技术文档有详细说明 5.2中文支持,如果你的索引要支持中文搜索的话,在此推荐庖丁分词,参考 (https://www.sodocs.net/doc/5a4479805.html,/topic/110148) schema.xml 设置如下: 中文词组分词 创建索引时 搜索时 中文单词分词

620神州AOI波峰焊操作手册

波峰焊操作手册 神州视觉研发部 波峰焊类型 波峰焊的类型分为极性与非极性。非极性是指波峰焊的检测区域的引脚上竖立向上的,不向四周偏倒,主要是手插件。极性是指波峰焊的检测区域的引脚向四周偏倒,具有方向性,主要是机插件。 适用机型 ALD620,ALD510,ALD700 光源标准 普通PCBA的光源标准 非极性波峰焊 1、区域划分 其中1为有效全区域,包括蓝色与绿色区域;2为核心区域(内圆区域,占焊盘区域的4/5),为蓝色区域。 有效全区域:波峰焊检测的整个有效区域,即锡膏区域。在检测中主要用于检测是否少锡。 核心区域:即为上图的蓝色区域。在检测过程中主要检测是否具备引脚、锡洞、包锡,以及波峰焊的好坏。 2、波峰焊的图像处理 波峰焊的图像处理,可分为核心区域的图像处理和边界区域(绿色成分区域)的图像处理。核心区域的图像处理主要是针对引脚、锡洞和包锡,以及焊锡成分,边界区域主要针对是焊锡成

分、铜箔成分。 极性波峰焊 1、区域划分 1 2 其中1为有效全区域,包括蓝色与绿色区域;2为核心区域,为蓝色区域。 有效全区域:波峰焊检测的整个有效区域,即锡膏区域。在检测中主要用于检测是否少锡。 核心区域:即为上图的蓝色区域。在检测过程中主要检测是否具备引脚、锡洞,以及波峰焊的好坏。 非极性插件的注册 7 非极波峰焊的注册窗口

界面说明: 1、注册插件元件的注册框大小:注册时,选择椭圆注册模块,框住插件的焊盘,大小与焊盘的 大小一致。如上图中1所示。 2、偏移值设置:如图2,将允许偏移中Dx设置为0.5,Dy设置为0.5。 3、阈值设置:如图3,见下各个阈值的设置。 (1) 分割阈值:默认值为60。区分焊点与背景点的分割阈值。 (2) 灰阶阈值:默认值为140。提取引脚的核心参数。 (3) 灰阶差:默认值为160,与分割阈值广联使用,自动提取焊盘的重要参数。 (4) 亮度阈值:默认值为255,提取焊盘的补充参数。 (5) 锡洞补偿:默认值为80,提取锡洞的补充参数。 4、参数设置:如图4,见下各个参数的设置。 (1) 焊锡区域参数:默认值为80,焊盘区域内的覆锡量参数,作用是来判断插件的焊锡量是否足够。 (2) 引脚参数:默认值为5,焊盘区域内的引脚量参数,作用是来判断插件的是否具备引脚,即该焊盘是否具备插件。 (3) 锡洞参数:默认值为8,焊盘区域内的锡洞量参数。作用是来判断插件焊盘是否存在气孔,或者是锡洞。 5、自动提取焊盘:如图5,选择该选择项,插件在检测过程中自动提取焊盘。 6、观察:如图6,单击该选择项,则弹出处理效果图。 7、极性选择:如图7,选择插件元件的极性。

Solr文档

Solr 全文检索服务 1企业站内搜索技术选型 在一些大型门户网站、电子商务网站等都需要站内搜索功能,使用传统的数据库查询方式实现搜索无法满足一些高级的搜索需求,比如:搜索速度要快、搜索结果按相关度排序、搜索内容格式不固定等,这里就需要使用全文检索技术实现搜索功能。

1.1单独使用Lucene实现 单独使用Lucene实现站内搜索需要开发的工作量较大,主要表现在:索引维护、索引性能优化、搜索性能优化等,因此不建议采用。 1.2使用Google或Baidu接口 通过第三方搜索引擎提供的接口实现站内搜索,这样和第三方引擎系统依赖紧密,不方便扩展,不建议采用。 1.3使用Solr实现 基于Solr实现站内搜索扩展性较好并且可以减少程序员的工作量,因为S olr提供了较为完备的搜索引擎解决方案,因此在门户、论坛等系统中常用此方案。 2什么是Solr 什么是Solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。 Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中,Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr根据xml文档添加、删除、更新索引。Solr 搜索只需要发送 HTTP GET 请求,然后对 Solr 返回Xml、json等格式的查询结果进行解析,组织页面布局。Solr不提供构建UI 的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。

solrconfig.xml配置详解

solrconfig.xml配置详解 solrconfig.xml包含了solr中大部分的配置信息。 Solrconfig.xml, schema.xml 和所有的配置文件都在solr的conf目录下,都是可以编辑的,除了admin UI。编辑admin ui请参加【编辑solr的admin ui配置文件.doc】。 Solrconfig.xml中的简单注释可以源代码中找到。 lib 指令可以在你的solrconfig.xml中指定。 dataDir parameter 除了默认目录外,指定索引存放位置,默认索引数据放在slor home下,如果使用replication ,这应该可以匹配replication 配置,如果此目录并不是绝对的,那么它是相对于你的目录中,是从您启动Solr的位置开始寻找。 说明:solr4.0以后,改变的值后,通过reload重新载入。 codecFactory 编解码器的工厂允许你使用自定义编解码器架构。例如:如果你想定义每

indexConfig 组件 这些设置控制低层次的行为的索引。详细信息请参阅示例中的solrconf.xml注释。 说明:在solr4.0以后,这个组件也是活的装置,通过reload可动态加载。 注意:在3.6版本之前,有两个不同的部分叫< indexdefaults >和,而现在这一段代替 。你仍然可以使用旧的配置为在3.6和4。x,但需要迁移时,撞lucenematchversion。迁移的最简单的办法是先例<indexconfig >部分都有注释,使用缺省值,然后自定义如果必要的话。 Update Handler 组件

相关主题