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

使用Lucene在单个令牌字段中搜索。网

钮勇
2023-03-14

我在用Lucene。NET 3.0。3用于索引word、excel等文档的内容以及每个文档的一些自定义字段
如果我将名为“title”的字段索引为字段。指数未分析Lucene索引以正确形式存储字段。孔标题存储在单个标记中。这就是我想要的。

e、 g.文件标题为Lucene索引中的“Lorem ipsum dolor”字段:“Lorem ipsum dolor”


我的搜索词看起来像:标题:"Lorem ipsum dolor"
对于搜索,我使用相同的标准Analzer。

为什么我找不到文件?

共有1个答案

富钧
2023-03-14

StandardAnalyzer对空格和其他分隔符敏感。也就是说,它将搜索词标记为三个标记:

( Lorem, ipsum, dolor )

但您可以使用字段为字段标题编制索引。指数未分析,因此上述三个令牌都无法与此字段中的单个令牌匹配:

( Lorem ipsum dolor )

使用关键字分析器,它将整个字段值标记为单个标记。和往常一样,索引和搜索都需要使用相同的分析器。

 类似资料:
  • 我尝试了许多lucene分析器,发现关键字分析器最符合我的要求。我使用相同的关键字分析器更新文档,并使用QueryParser搜索相同的关键字。我想搜索支持通配符的值。例如:如果字段“country”包含值“india”,我可以搜索与“ind*”、“ndi”、india等相同的字段。我将获得除精确匹配之外的所有其他搜索的匹配。当我搜索确切的单词(国家:印度)时,我没有找到任何匹配项。如果我将同一查

  • 我在我的应用程序中使用Hibernate搜索。其中一个子集合映射为IndexeDemBedded。子对象有两个字段,一个是id,另一个是date(使用date resoultion到毫秒)。当我搜索ID=1(或某个值)并且date等于另一个值时,我会得到第一个和第二个匹配的所有情况的结果。我只想在同一个孩子中获得两个字段匹配的记录,但我在不同的孩子中获得匹配,结果会高得多。下面是代码片段 主类是用

  • 版本字符串有一个支持java类(版本),它实现了Comparable。 我的分析器是一个分析器包装器,它是一个小写和空格分析器,类似于内置的分析器。我使用经典的查询解析器进行搜索。在确切的条件下搜索工作良好。 我想做的是: 我试图在索引之前将版本字符串转换为int,但查询输入需要以某种方式转换,以便在搜索之前将版本字符串转换为int。 看起来我必须为version字段实现一个自定义分析器,但是我在

  • 我在建立一个简单的地址数据库。有一个名为的类,其中的地址被分解为字段(street、city、state、ZIP)。每个字段都是字符串类型。 我想能够搜索地址中的任何一个字。例如:查找地址,无论搜索的词是在街道名称或城市名称等。换句话说,我希望用户能够轻松搜索,而不必指定他们感兴趣的地址的哪一部分。 但是当我执行以下查询时,我不会得到结果或错误消息: =>没有结果,应该是2条邮政编码为46250和

  • 在测试此文本时,我在要在文本中搜索的列上创建了lucene(3.0.1)索引: 如果我按关键字搜索,它会给出结果,但按 我正在使用standardAnalyzer: 因为已设置,它应创建令牌,并且应存在$GLD。Analyzer将从文本中删除停止字,因为word也将在该过程中删除。

  • 问题内容: 我第一次使用Postgresql,并且试图在我的网站中创建一个搜索引擎。我有这张桌子: 然后我为表的每个字段创建了一个索引(这是正确的方法吗?或者我可以为所有字段创建一个索引?): 现在,如果我想在每个索引中搜索一个单词,SQL查询是什么? 我尝试了这个,它的工作原理: 是否存在更好的方法来做到这一点?我可以搜索多个吗?我的一个朋友提出了一个解决方案,但这是针对MySQL数据库的: P