c# – 如何在Lucene.NET中搜索Field.Index.NOT_ANALYZED字段?
发布时间:2020-12-16 00:08:25 所属栏目:百科 来源:网络整理
导读:我是Lucene.NET的新手.我正在添加字段 Field.Index.NOT_ANALYZED 在Lucene文档中.有一个默认字段在文档中添加为 Field.Index.ANALYZED 我在搜索默认字段时没有任何困难;但是当我搜索特定字段时,Lucene返回0文档.但是,如果我改变, Field.Index.NOT_ANALYZED
我是Lucene.NET的新手.我正在添加字段
Field.Index.NOT_ANALYZED 在Lucene文档中.有一个默认字段在文档中添加为 Field.Index.ANALYZED 我在搜索默认字段时没有任何困难;但是当我搜索特定字段时,Lucene返回0文档.但是,如果我改变, Field.Index.NOT_ANALYZED 至 Field.Index.ANALYZED 事情正常.我认为与Analyzer有关.任何人都可以指导我如何搜索Field.Index.NOT_ANALYZED字段吗? 以下是我创建查询解析器的方法: QueryParser parser = new QueryParser( Version.LUCENE_30,"content",new StandardAnalyzer(Version.LUCENE_30)); 解决方法
ANALYZED只表示该值在被索引之前通过Analyzer传递,而NOT_ANALYZED表示该值将按原样索引.后者意味着像“hello world”这样的值将被编入索引,就像字符串“hello world”一样.但是,QueryParser类的语法将空格解析为term-separator,创建两个术语“hello”和“world”.
如果您创建了一个var q = new TermQuery(new Term(field,“hello world”))而不是调用var q = queryParser.Parse(field,“hello world”),您将能够匹配该字段. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – 安装therubyracer时发生错误(0.10.1)
- ruby-on-rails – 在Rails应用程序中使用Pow服务器时更改环
- react反模式之index作为key
- bootloader---28.为SD卡与NAND FLASH的uboot加上menu菜单
- quick cocos2dx 组件
- ajax同步请求执行顺序
- postgresql – 检索当前(在运行查询的时刻)序列值的选项
- c# – .NET Core中的自定义授权属性
- 数组 – 在PostgreSQL 9.2,9.3和9.4中追加(推送)和从JSON数
- 可可 – 将Swift和init(windowNibName)中的NSWindowControl
推荐文章
站长推荐
热点阅读