当前位置: 首页 > 知识库问答 >
问题:

Lucene中的否定查询问题

堵浩波
2023-03-14

看看这个查询:

-HOSTNAME:ram AND SEVERITY:information

上面的查询没有给出预期的结果。我知道我们需要将*:*附加到一个完全否定的查询中,我还发现,通过将*:*附加到主机名搜索条件中,可以解决上述问题,但这可能会造成严重的性能问题,因为我的应用程序直接从最终用户获取搜索查询。

我该如何解决这个问题,并帮助我找到一个最佳解决方案!

共有1个答案

邓毅
2023-03-14

你的查询应该工作正常写,但是,只包括否定的条款不工作:

-HOSTNAME:ram AND -SEVERITY:ERROR

因为没有什么可以减去的(至少我是这么认为的)。

 类似资料:
  • 我的任务是使用lucene在我们的产品表中搜索。我已经创建了一个索引,正在使用带有多个字段的QueryParser进行搜索,但结果不是我所需要的。我有一个存储为LM10的产品,但如果搜索词是LM 10,我希望能够找到它,但如果搜索词是Fred LM10或Fred LM 10,它也必须能够匹配。你知道我如何在Lucene做到这一点吗。 提前谢谢

  • Lucene查询语言 ElasticSearch提供的一些查询方式(query types)能够被Lucene的查询解析器(query parser)语法所支持。由于这个原因,我们来深入学习Lucene查询语言,了解其庐山真面目吧。 基础语法 用户使用Lucene进行查询操作时,输入的查询语句会被分解成一个或者多个Term以及逻辑运算符号。一个Term,在Lucene中可以是一个词,也可以是一个短

  • 我正在使用ApacheLucene5.0。0并在使用QueryParser时遇到问题。我试图创建一个查询,但得到一个ParseException。 以下是我的代码: 这是我得到的例外: 如果有帮助,我已经包含了以下jar文件: lucene-analyzers-common-5.0.0.jar lucene-core-5.0.0.jar lucene-queries-5.0.0.jar lucen

  • 我必须将此添加到我执行的每个搜索查询中。我有一个大约20,000个文档的索引,我真的不想重建它,因为我在上一个版本中让我的用户重建了他们的索引。注意:这是在android设备上,所以需要很长的时间和大量的电池来重新索引他们的所有文档。 谢谢你的帮助。

  • 我很难理解如何处理lucene中的特殊角色 我的分析器没有停止字,因此不会删除特殊字符: 比我创建文档要多: 查询标签:brüder\-g工作正常,但是模糊查询标签:brüder\-g~不返回任何内容。当街道名称为Eselgasse查询标签时:Esel~将正常工作。 我使用Lucene 5.3.1 谢谢你的帮助!

  • 问题内容: 找出查询中哪些术语与以lucene命中形式返回的给定文档相匹配的最佳方法是什么? 我尝试了一种奇怪的方法,其中涉及在Lucene Contrib中命中高亮显示包,还有一种方法针对最上面的文档(“ docId:xy AND description:each_word_in_query”)在查询中搜索每个单词。 没有得到满意的结果?点击突出显示不会报告与第一个文档不同的某些单词。我不确定第