Lucene中的文档必须包含相同的字段吗?
我正在考虑/致力于为我们公司的各种内容类型实现一个搜索引擎,并试图对Lucene(特别是.net风格)了如指掌 目前,我的主要问题是一个索引中的文档是否必须包含相同的字段 例如: 文件1:Lucene中的文档必须包含相同的字段吗?,lucene,lucene.net,Lucene,Lucene.net,我正在考虑/致力于为我们公司的各种内容类型实现一个搜索引擎,并试图对Lucene(特别是.net风格)了如指掌 目前,我的主要问题是一个索引中的文档是否必须包含相同的字段 例如: 文件1: 标题:“我是一份文件,宝贝” 正文:“这里有一些重要的事情” 纬度:26.12224 长度:-65.23124 品牌:东芝 文件2: 标题:“我的另一份文件” 身体:“Lorem ipsum和所有的爵士乐” 类别:物品 作者:洛因爵士 …等等如果您希望对特定字段进行索引,我想所有文档都必须具有相同的字
- 标题:“我是一份文件,宝贝”
- 正文:“这里有一些重要的事情”
- 纬度:26.12224
- 长度:-65.23124
- 品牌:东芝
- 标题:“我的另一份文件”
- 身体:“Lorem ipsum和所有的爵士乐”
- 类别:物品
- 作者:洛因爵士
…等等如果您希望对特定字段进行索引,我想所有文档都必须具有相同的字段 lucene中的任何内容都不能强制实现一致性
如果您在名为“fred”的字段上搜索,但并非所有文档都有“fred”,则该搜索将无法找到fredless文档。这完全取决于您在Lucene中如何为文档编制索引。所有
文档
都必须添加到索引中。您可以使用IndexWriter
或编写自己的类来完成此操作。在将文档添加到索引之前,应将其拆分为名称-值对。随后,您可以使用QueryParser
查询Lucene中的这些名称值。例如,下面的查询将返回标题中带有短语“我是一个文档,宝贝”和正文中带有短语“这里有一些重要的东西”的所有文档
title:("I'm a document, baby") body:("Here are some important things")
我刚刚展示了一个简单的示例,但您可以通过许多不同的方式创建更强大的搜索查询
我提到的类来自java,但.net应该是类似的。这是我的直觉告诉thusfar的,但我无法找到任何具体的方式。