`
linliangyi2007
  • 浏览: 1012958 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

关于Lucene3.0.1 QueryParser的一个错误

阅读更多
表达式1:
引用

id:"1231231" && title :"MYNAMEmonkey" && content:"你好吗"  && ur:"sdfsdfs""

四个条件的AND计算,在QueryParser解析为:
引用

+id:1231231 +title:mynamemonkey +content:"你 好 吗" +ur:sdfsdfs

这个逻辑应该是正确的

表达式2:
引用

id:"1231231" && title :"MYNAMEmonkey" || content:"你好吗"  && ur:"sdfsdfs""

中间的运算符改为|| OR计算,在QueryParser也被解析为:
引用

+id:1231231 +title:mynamemonkey +content:"你 好 吗" +ur:sdfsdfs

这个逻辑就不对了

大家也试试看,这应该是个bug吧。
分享到:
评论
8 楼 huangzhir 2013-01-30  
AND 跟 OR 混用应该加个(),这样就不会有问题!
id:"1231231" && (title :"MYNAMEmonkey" || content:"你好吗" )&& ur:"sdfsdfs""
结果
+id:1231231 +(title:mynamemonkey content:"你 好 吗") +ur:sdfsdfs
7 楼 skyuck 2013-01-11  
比如我搜 "你好吗"  用引号括起来的哦,被解析成下面这样的

+content:"你 好 吗"

这个中间有空格  怎么匹配到包含有"你好吗"的文档
6 楼 linliangyi2007 2010-06-29  
zbmartin 写道
zbmartin 写道
我今天测试了一下,是使用 StandardAnalyzer,
结果如下:
文件内容为 "id:"1231231" && title :"MYNAMEmonkey" && content:"你好吗"  && ur:"sdfsdfs"

没有你说的那个+号


对比了两种情况的分析结果了吗,与和或的。

另外你用的是啥版本的Lucene QueryParser,为啥会没有+号哩?
5 楼 zbmartin 2010-06-29  
zbmartin 写道
我今天测试了一下,是使用 StandardAnalyzer,
结果如下:
文件内容为 "id:"1231231" && title :"MYNAMEmonkey" && content:"你好吗"  && ur:"sdfsdfs"

没有你说的那个+号
4 楼 zbmartin 2010-06-29  
我今天测试了一下,是使用 StandardAnalyzer,
结果如下:
文件内容为 "id:"1231231" && title :"MYNAMEmonkey" && content:"你好吗"  && ur:"sdfsdfs"
3 楼 linliangyi2007 2010-05-24  
qyhdt 写道
应该加括号区别 而且或运算不应该加+号 注意运算优先级


兄弟你看清楚帖子上说的问题没啊,有+号的那个表达式是QueryParse的输出结果啊,所以我才说QueryParser有问题啊
2 楼 qyhdt 2010-05-24  
应该加括号区别 而且或运算不应该加+号 注意运算优先级
1 楼 linliangyi2007 2010-05-21  
补充一下,使用的Analyzer是StandardAnalyzer

相关推荐

    lucene-3.0.1库及源代码

    这个“lucene-3.0.1”版本代表了Lucene在2009年的一个重要里程碑,它提供了强大的文本检索功能,被广泛应用于各种信息检索系统和大数据分析平台。本文将围绕“lucene-3.0.1”库和源代码,深入探讨其核心概念、主要...

    lucene3.0.1.zip

    Lucene是一个由Apache软件基金会开发的全文检索库,它为构建高效、可扩展的搜索应用提供了强大的支持。在Java开发领域,Lucene以其优秀的性能和易用性赢得了广泛的赞誉。本文将围绕Lucene 3.0.1版本,探讨其核心概念...

    Lucene3.0.1 官方api

    Lucene 3.0.1是该库的一个重要版本,它在前一版本的基础上进行了一些改进和优化,为开发者提供了更稳定和高效的搜索解决方案。 在Lucene 3.0.1中,官方API(应用程序编程接口)是开发者理解和使用Lucene的核心工具...

    Lucene 3.0.1 全文检索引擎的架构 对文件,数据库建索引,及查询(高亮显示)

    **Lucene 3.0.1全文检索引擎的架构** Lucene是一款开源的全文检索库,由Apache软件基金会开发,广泛应用于各种搜索引擎的构建。在3.0.1版本中,Lucene提供了一套高效、可扩展的文本搜索解决方案。其核心特性包括...

    lucene-3.0.1-src.zip

    Lucene 3.0.1 是该项目的一个历史版本,尽管较新版本可能包含更多的改进和特性,但这个版本仍然具有重要的学习价值,特别是对于想了解 Lucene 历史和演进的人来说。 在 `lucene-3.0.1` 压缩包中,我们可以找到以下...

    lucene-memory-3.0.1.jar

    本文将深入探讨Lucene的一个特殊模块——Memory索引,以“lucene-memory-3.0.1.jar”为例,揭示其在内存中的工作原理及应用价值。 Apache Lucene是一个开源Java库,它提供了一套完整的搜索和分析工具,包括分词、...

    lucene相关十几个包

    5. **lucene-core-3.0.1.jar**:这是另一个较早的Lucene核心库版本,3.0.1,说明用户可能同时在处理不同版本的Lucene项目。 6. **lucene-analyzers-stempel-5.3.0.jar**:Stempel是波兰语分析器,它提供了波兰语的...

    模糊查询-lucene-IKAnalyzer

    总之,通过使用Java 1.5、Lucene 3.0.1和IKAnalyzer 3.2,我们可以构建一个强大的中文文本搜索系统,实现高效的模糊查询功能。这在信息量庞大的环境中,如网站、数据库或者文档管理系统中,有着广泛的应用价值。不断...

    测试爬虫+lunence的一些jar文件

    都不全,这里放了一些常用的jar文件,希望能帮到需要的人,一下为jar文件列表htmlparser-1.6.jar、IKAnalyzer2012FF_u1.jar、lucene-highlighter-4.7.2.jar、lucene-queryparser-4.7.2.jar、lucene-analyzers-common...

    lucene全文搜索

    - **Field**:存储在Document中的键值对,每个Field包含一个字符串键和一个字符串值。 3. **互联网搜索结构**: - 用户通过搜索引擎访问的是索引库而非直接的网页。 - 索引库包含索引号和文档摘要。 - 用户首次...

Global site tag (gtag.js) - Google Analytics