摘要:1.standard(StandardRequestHandler) 标准查询分析器使用SolrQuerySyntax通过q参数来指定查询,它要求被很好的组织(Formed),或返回一个异常。对于精确查询和任意复杂的查询,使用Standard效果很好。 2. dismax (DismaxRequestHandler): dismax查询分析器是一个为用户提供的更宽容的查询分析器,查询字符串直接传递一个q参数。其他参数可以很容易搜索横跨多个Field,使用Disjunctions和不严格的短语查询返回高度相关的结果。这里的“部分匹配”,是指返回的结果没有完全匹配所有搜索的关键词。DisMaxQP
阅读全文
随笔分类 - lucene.net&solr
摘要:原文出处:http://blog.chenlb.com/2010/08/solr-use-custom-query-parser.html由于 Solr 默认的 Query Parser 生成的 Query 一般是 “短语查询”,导致只有很精确的结果才被搜索出来。大部分时候我们要分词后的 BooleanQuery。一年半前有篇关于solr 使用自定义的 QueryParser的文章。使用这个方法在 solr 中可以用自己的 Query Parser。按照那篇文章,分别扩展:QParserPlugin、QParser、SolrQueryParser。我把它们实现为:ExtLuceneQParse
阅读全文
摘要:原文出处:http://blog.chenlb.com/2009/02/use-custom-solr-queryparser.html如果想让 solr 有更加强大的功能或在查询时做一些特别的处理。可以在 solrconfig.xml 里注册自定义的 QueryParser(查询解析器),这是 solr 1.3 的新功能(插件功能),如:<queryParsername="mylucene"class="org.apache.solr.search.MyQParserPlugin"/>query parser 插件时,要先了解下 solr
阅读全文
摘要:1)在solrconfig.xml增加<!--新增加的配置--> <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>2
阅读全文
摘要:简介:在本部分中,Lucene Java™ 的提交人 Grant Ingersoll 通过对用于企业的特性(包括管理界面、高级配置选项)以及与性能相关的特性(比如缓存、复制和日志记录)的探究,完成了对 Solr 的介绍。在本系列的第 1 部分,我为您介绍了 Apache Solr,一种基于 HTTP 的开源搜索服务器,它可以很容易地与多种 Web 应用程序集成。我展示了 Solr 最基本的功能,包括索引、搜索和浏览,介绍了 Solr 模式并解释了它在配置 Solr 功能方面的作用。在本部分中,我将通过列举 Solr 作为大型生产环境中理想的解决方案时所具备的特性来完成对 Solr 的介绍。涵盖
阅读全文
摘要:简介:Solr 是一种可供企业使用的、基于 Lucene 的搜索服务器,它支持层面搜索、命中醒目显示和多种输出格式。在这篇分两部分的文章中,Lucene Java™ 的提交人 Grant Ingersoll 将介绍 Solr 并向您展示如何轻松地将其表现优异的全文本搜索功能加入到 Web 应用程序中。一旦用户需要某种信息,就可以立即搜索到这些信息,这种要求再也不是可有可无的了。随着 Google 和类似的复杂搜索引擎的出现,用户希望得到高质量的搜索结果,帮助他们快速、轻易地找到所需的信息。经理对您的在线购物站点同样抱有很高的期望,要求它能够提供一个可伸缩、高度可用且易于维护的搜索解决方案,并且
阅读全文
摘要:原文出处:http://blog.chenlb.com/2009/01/ictclas4j-for-lucene-analyzer.html在 lucene 的中文分词域里,有好几个分词选择,有:je、paoding、IK。最近想把 ictclas 拿来做 lucene 的中文分词。网上看了下资料,觉得 ictclas4j 是比较好的选择,作者博客相关文章:http://blog.csdn.net/sinboy/category/207165.aspx。ictclas4j 目前是0.9.1版,项目地址:http://code.google.com/p/ictclas4j/,下载地址:http:
阅读全文
摘要:原文出处:http://blog.chenlb.com/2009/04/use-chinese-segment-mmseg4j-in-lucene-demo.htmlmmseg4j 发布也有一段时间了,前些日子忙着发布新的版本,修正 bug 之类的。使用示例一直拖到现在,其实 svn 上的 test 有使用 lucene 例子。如果你了解 lucene ,就不用例子也可以很方便与它集成。mmseg4j 有几个 analyzer:SimpleAnalyzer、ComplexAnalyzer、MaxWordAnalyzer、MMSegAnalyzer。前面三个都是继承 MMSegAnalyzer,
阅读全文
摘要:原文出处:http://blog.chenlb.com/2009/04/solr-chinese-segment-mmseg4j-use-demo.htmlmmseg4j 第一个版本就可以方便地与 solr 集成,在google code上面有简单的说明,第一版的发布博客也有简单的使用说明:中文分词 mmseg4j。为了更清楚说明在 solr 中使用 mmseg4j 中文分词,还是写篇博客吧。目前有两个版本的 mmseg4j,1.7 版比较耗内存(一个词库目录就要 50M 左右),所以在默认jvm内存大小会抛出 OutOfMemoryErroy。我这里示例两个词库目录,所以不用目前最新版 1.
阅读全文
摘要:Lucene是一个基于Java的全文索引工具包。基于Java的全文索引引擎Lucene简介:关于作者和Lucene的历史全文检索的实现:Luene全文索引和数据库索引的比较中文切分词机制简介:基于词库和自动切分词算法的比较具体的安装和使用简介:系统结构介绍和演示Hacking Lucene:简化的查询分析器,删除的实现,定制的排序,应用接口的扩展从Lucene我们还可以学到什么另外,如果是在选择全文引擎,现在也许是试试Sphinx的时候了:相比Lucene速度更快,有中文分词的支持,而且内置了对简单的分布式检索的支持;基于Java的全文索引/检索引擎——LuceneLucene不是一个完整的全
阅读全文
摘要:Lucene通过Spatial包提供了对基于地理位置的全文检索的支持,最典型的应用场景就是:“搜索中关村附近1公里内的火锅店,并按远近排序”。使用Lucene-Spatial添加对地理位置的支持,和之前普通文本搜索主要有两点区别: 1. 将坐标信息转化为笛卡尔层,建立索引[java]view plaincopyprint?privatevoidindexLocation(Documentdocument,JSONObjectjo)throwsException{doublelongitude=jo.getDouble("longitude");doublelatitude=
阅读全文
摘要:简介:不管是通过支持 GPS 的智能手机查找最近的咖啡馆,还是通过社交站点查找附近的朋友,或是查看特定城市中运输某种商品的所有货车,越来越多的人和企业都使用位置感知的搜索服务。创建位置感知搜索服务通常属于昂贵的专用解决方案的一部分,并且一般由地理空间专家完成。不过,很流行的开源搜索库 Apache Lucene 和强大的 Lucene 搜索服务器 Apache Solr 最近添加了空间位置功能。Lucene 和 Solr 专家 Grant Ingersoll 将逐步向您介绍空间搜索的基础知识,并演示如何利用这些功能来增强您的下一个位置感知应用程序。地理位置在空间搜索中至关重要!地理位置不仅在地
阅读全文
摘要:lucene特点及作用文章里就不说了,网上有的是。我就简单说下个人理解,正常 sql 查询时:name like '%继中%' 想必大家一定明白这样不会走索引的,然后就在多行数据级别查询相应时间会很慢,对吧,因为数据库在一行行扫呢。所以我们自然会想到怎样能让它走索引?解决方案之一:lucene出来了。其实它就是帮你把文章拆分成若干个关键词,这样以便按关键词查询时能通过关键词直接查询来锁定哪些文章匹配该关键词并快速返回。说再直白点,就是 sql语句的查询不用like ,而是 name ='继中',这样就走索引了,所以就快了而已。下面来说正题,spring框架下配置
阅读全文
摘要:一、字段配置(schema)schema.xml位于solr/conf/目录下,类似于数据表配置文件,定义了加入索引的数据的数据类型,主要包括type、fields和其他的一些缺省设置。1、先来看下type节点,这里面定义FieldType子节点,包括name,class,positionIncrementGap等一些参数。name:就是这个FieldType的名称。class:指向org.apache.solr.analysis包里面对应的class名称,用来定义这个类型的行为。<schemaname="example"version="1.2"
阅读全文
摘要:现在我们开始研究载入的数据部分(importing data)在正式开始前,我们先介绍一个存储了大量音乐媒体的网站http://musicbrainz.org/,这里的数据都是免费的,一个大型开放社区提供。MusicBrainz每天都提供一个数据快照(snapshot)的SQL文件,这些数据可以被导入PostgreSQL数据库中。一、字段配置(schema)schema.xml位于solr/conf/目录下,类似于数据表配置文件,定义了加入索引的数据的数据类型,主要包括type、fields和其他的一些缺省设置。1、先来看下type节点,这里面定义FieldType子节点,包括name,cla
阅读全文
摘要:1。lucene的索引尽量不要频繁而小量的编制,比如:用户每发一个贴子,就加入索引,那样对索引的结构和效率不利。 可以采用定时或者定量,批量处理索引的方式。 2。在批量处理的基础上,解决冲突的问题的方案之一就是在同一个线程里操作Writer和reader。我们知道,lucence在 1.4之前是没有所谓的modify操作的,所有的modifer操作可以分解为delete和add,那么实际上,在批量索引的任务栈里 只有两种类型的操作:delete和add。让处理线程总是先执行delete,在执行add就好。 3。任何时候,索引线程实例只有一个在工作! 满足以上3点,能较好地处理目前大部分情况下.
阅读全文
摘要:lucene.net好多人都知道的吧,反正我是最近才好好的看了一下,别笑我拿历史当新闻哦,不太了解Lucence的朋友先听我说两句哦。Lucene的知识主要分为索引、搜索、分析器、性能优化几个部分。索引和搜索没啥可说的,看几个例子就会了,来回那一套儿,按部就班做几个实验就熟悉了。分析器是Lucence的精华,又分为分词和过滤两部分,而且中文分词更是难点,我的例子里是用从博客园程序中提取出来的Lucene.Net.Analysis.Cn.dll来实现中文分词的,谁有中科院的那套中科院ICTCLAS分词工具的C#版麻烦提供一下哦。性能优化也很重要,因为如果要索引的文件比较大的话,建立索引的性能就会
阅读全文
摘要:转:这个东西在2006年初,我就开始在项目中使用.我对它也有了一些了解. 但因为主要开发还是小兵们在做. 所以仅仅了解了一些皮毛. 下面我将以知识点的形式, 列出来. 以笔记的形式连载. 也方便大家一起学习. 每一个点, 我都会写一个知识点. 1, 2005年的时候, 听说了lucene. 是一个开源的搜索引擎开发包. 而不是一个搜索引擎,请切记. 2, 如果开始学习它, 就需要至少知道,它所包含的包. 目前lucene已经到了2.2版本. 当然你需要时刻关注他的最新版本. 目前包: lucene-core-2.2.0.jar . 下载可以到apache的网站上下载. 这一个就够了.不用下别的
阅读全文
摘要:本文主要简单介绍如何使用eaglet的盘古分词在lucene.net中进行创建索引和简单搜索。盘古分词是eaglet大大的杰作,如果您还没有尝试使用过,希望本文的介绍会对您有所帮助。 1、盘古分词参考资料汇总 http://www.cnblogs.com/eaglet/tag/%e5%88%86%e8%af%8d/ http://pangusegment.codeplex.com/ http://hubbledotnet.51aspx.com/ http://home.cnblogs.com/group/topic/31349-6.html 牛人的贡献不仅仅是无私提供几个工具,几个类库,几..
阅读全文
摘要:最近研究了个全文搜索的,Lucene.net,很有名的开源组件(有Java版本)。其实谈不上研 究,就是以前客户有个需要,要能搜索上传文件(如 word Excel Txt 等等),项目中这些附件都存在一个image字段中的,一直没有办法来搜索,本文就讲一下如何利用Lucene.net对附件做搜索功能,并且利用com 组件来读取office内容。 介绍一下Lucene.net的使用,使用了Lucene.Net.dll2.1 Highlighter.Net.dll 2.0(高亮) Lucene.Net.Analysis.Cn.dll 1.3(划词引擎): 1 添加索引 ///<summa.
阅读全文