关于lucene全匹配检索的问题

lucene的分词检索自然不用说,可是我们的日常程序中还是经常会用到类似于数据库的等于操作。

应用中发现如果关键字为我们平时的数字ID,那么一般是没有问题的,但碰到英文和中文的时候就产生了麻烦。也就是说索引中的关键字不是数字,而是字符串(可能包含任意字符)

最近有一次的应用我是这样实现的

 

首先建立索引的时候需要进行等于操作的字段应为“建立索引但不分词”也就是Field.Index.UN_TOKENIZED。

检索的时候输入的信息不能分词,用到的分词器为KeywordAnalyzer

 

这样实现类似于数据库的等于操作。

 

但当输入的字符中间带有空格是,又产生了麻烦。结果我在建立索引时加了一个域,把所有含空格的都换成了加号,检索时输入的字符同样换成了加号,这样也对付实现了。

 

此种实现总感觉不伦不类,看来lucene用的时间太短了,还需要深入研究啊

 

今天写下自己博客中的第一篇日志,庆祝一下^_^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值