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

在lucene索引中搜索

萧永长
2023-03-14

在测试此文本时,我在要在文本中搜索的列上创建了lucene(3.0.1)索引:

$GLD is a great example of why it does not make sense EVER to try and catch a falling knife.

如果我按关键字“falling”搜索,它会给出结果,但按“$GLD”

我正在使用standardAnalyzer:

String longString = "$GLD is a great example of why it does not make sense EVER to try and catch a falling knife."

Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_30);
doc.add(new Field("data", longString, Store.YES, Field.Index.ANALYZED));

因为字段。指数已分析已设置,它应创建令牌,并且应存在$GLD。Analyzer将从文本中删除停止字,因为word$GLD也将在该过程中删除。

共有3个答案

汪坚
2023-03-14

使用Luke检查您的查询是否做了您认为它做的事情也很有帮助。

阴靖
2023-03-14

您应该检查StandardAnalyzerStandardAnalyzer可以删除$,并且可以在其过程中使用小写过滤器(我不确定,我只知道2.3和4.1)。LowerCaseFilter将使单词变成小写。当你搜索大写字母时,你不会得到任何东西。

您可以使用Luke检查索引中的标记化结果。

颛孙越
2023-03-14

Analyzer会更改文档的字段。为什么不在搜索之前对查询使用Analyzer呢?同时,QueryParser会有很大帮助。

 类似资料:
  • bugu-mongo 2.x版本集成了Lucene的功能。当往MongoDB中新增一个Document时,能自动为该Document建立Lucene索引。相应的,当MongoDB中的Document被修改、删除时,对应的Lucene索引也会修改、删除。 另外,bugu-mongo还提供了对Lucene搜索的支持。根据Lucene索引进行搜索的时候,搜索结果能自动转换成对应的Entity对象。 在L

  • 问题内容: 我是Lucene的新手,在创建 用于查询文本文件集合的 简单代码时遇到一些问题。 我尝试了此示例,但与新版本的Lucene不兼容。 UDPATE: 这是我的新代码,但是仍然无法使用。 问题答案: Lucene是一个相当大的主题,涉及很多类和方法,通常您必须至少了解一些基本概念才能使用它。如果您需要快速可用的服务,请改用Solr。如果您需要对Lucene的完全控制,请继续阅读。我将介绍一

  • 注意: 我只使用“luceneresults”.ascx和.cs。 ----问题更新了,因为我缩小了问题的范围---- 我试图创建一组特定项的索引,用于Lucene搜索。 在web.config中,我指定了一个索引,该索引包含: 完整索引:

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

  • 问题内容: 我有三个食物类型索引:“意大利”,“西班牙”,“美国”。当用户搜索“奶酪”时,“意大利”文档似乎出现在顶部。如果我偏爱说“西班牙语”,是否可以“增强”结果?(我仍然应该获得意大利语的结果,但是基于索引类型“ Spanish”的一些数值提升值,结果中返回的文档的顺序将优先使用“ Spanish”索引。在用户输入的lucene和/或ES查询? 问题答案: 添加带有字词查询或字段(或两者都有