Lucene.Net. 为什么keyword用两个汉字就无法查到结果呢?是哪儿有问题?

问题描述

stringindexPath=Context.Server.MapPath("~/IndexData");stringfield="content";FSDirectorydirectory=FSDirectory.Open(newDirectoryInfo(indexPath),newNoLockFactory());IndexReaderreader=IndexReader.Open(directory,true);IndexSearchersearcher=newIndexSearcher(reader);//////BooleanQuerybooleanquery=newBooleanQuery();varver=Lucene.Net.Util.Version.LUCENE_29;Analyzeranalyzer=newStandardAnalyzer(ver);MultiFieldQueryParserparser=newMultiFieldQueryParser(ver,newstring[]{field},analyzer);stringkeyword="客户";Queryquery2=parser.Parse(keyword);TopScoreDocCollectorcollector=TopScoreDocCollector.Create(1000,true);searcher.Search(booleanquery,null,collector);ScoreDoc[]docs=collector.TopDocs(0,collector.TotalHits).ScoreDocs;

解决方案

解决方案二:

时间: 2024-11-05 12:16:38

Lucene.Net. 为什么keyword用两个汉字就无法查到结果呢?是哪儿有问题?的相关文章

【手把手教你全文检索】Lucene索引的【增、删、改、查】

前言 搞检索的,应该多少都会了解Lucene一些,它开源而且简单上手,官方API足够编写些小DEMO.并且根据倒排索引,实现快速检索.本文就简单的实现增量添加索引,删除索引,通过关键字查询,以及更新索引等操作. 目前博猪使用的不爽的地方就是,读取文件内容进行全文检索时,需要自己编写读取过程(这个solr免费帮我们实现).而且创建索引的过程比较慢,还有很大的优化空间,这个就要细心下来研究了. 创建索引 Lucene在进行创建索引时,根据前面一篇博客,已经讲完了大体的流程,这里再简单说下: 1 Di

lucene删除索引时出现两个cfs文件,数据也没有删除

问题描述 我做了个索引监听程序,同时进行追加索引和更新索引(先删除后追加),追加索引没问题,但增加索引却出现两个cfs文件,数据也没有删除,不知道什么问题.代码如下:privateList<Message>deleteOldIndex(List<Message>msgs)throwsStaleReaderException,CorruptIndexException,LockObtainFailedException,IOException{IndexReaderindexRead

asp.net url传递后地址栏乱码(中文超过两个汉字)_实用技巧

编码编好的url是正确的,可传到另一个页面 就会出错,在地址栏就已经乱码了 1.设置web.config文件 复制代码 代码如下: <system.web> <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" /> </system.web&g

用CSS实现段落前面缩进两个字

核心提示:段落前面空两个字的距离,不要再使用空格了.应该使用首行缩进text-indent.text-indent可以使得容器内首行缩进一定单位.比如中文段落一般每段前空两个汉字. <style type="text/css"><!-- p{ text-indent: 2em; /*em是相对单位,2em即现在一个字大小的两倍*/}--></style> <p>段落前面空两个字的距离,不要再使用空格了.应该使用首行缩进text-inden

CSS实现排版段落前面空两个字,不使用空格

css 段落前面空两个字的距离,不要再使用空格了.应该使用首行缩进text-indent. text-indent可以使得容器内首行缩进一定单位.比如中文段落一般每段前空两个汉字. 在这里我们需要了解一种长度单位em.em是相对长度单位.相对于当前对象内文本的字体尺寸. 我们中文段落一般每段前空两个汉字.实际上,就是首行缩进了2em. 看下面的例子: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "ht

两招加快Windows 7系统的运行速度

Windows7现在已经非常普及了,相比之前的Vista系统,Windows7的速度真的是很快了,但你是否担心自己的Windows7系统就像新安装其他Windows系统一样仅仅是刚开始运行飞快,随着时间的推移就会导致效率越来越低呢?想要保持自己的Windows7系统一直运行如飞并非是难事,下面将两个有效的优化小方法告诉你,让你保持Windows7的高速度运行. 1. 系统服务项优化 点击开始菜单--搜索框中输入"服务"两个汉字,或者输入 Services.msc 回车: Windows

CSS实现段落首行缩进两个字符不再使用空格

想让段落前面空两个字的距离不使用空格了,text-indent可以使得容器内首行缩进一定单位.比如中文段落一般每段前空两个汉字,感兴趣的朋友可以参考下,希望对大家有所帮助   段落前面空两个字的距离,不要再使用空格了.应该使用首行缩进text-indent.text-indent可以使得容器内首行缩进一定单位.比如中文段落一般每段前空两个汉字. 复制代码 代码如下: <style type="text/css"> p{ text-indent: 2em; /*em是相对单位

Win 7加快系统速度必做两件事

  Windows7现在已经非常普及了,相比之前的Vista系统,Windows7的速度真的是很快了,但你是否担心自己的Windows7系统就像新安装其他Windows系统一样仅仅是刚开始运行飞快,随着时间的推移就会导致效率越来越低呢?想要保持自己的Windows7系统一直运行如飞并非是难事,下面将两个有效的优化小方法告诉你,让你保持Windows7的高速度运行. 1. 系统服务项优化 点击开始菜单--搜索框中输入"服务"两个汉字,或者输入 Services.msc 回车; Windo

lucene 全文检索原理

一.总论 根据http://lucene.apache.org/java/docs/index.html 定义: "Apache Lucene(TM) is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text searc