我在寻找一个Lucene索引和我建立的搜索查询像如何使用查询语法搜索Lucene中的多个字段?
field1:"hello" AND field2:"world"
,但我想以搜索任何字段中的值,以及在同一个查询即在特定的字段中的值
field1:"hello" AND anyField:"world"
谁能告诉我如何以这种方式搜索所有索引字段?
我在寻找一个Lucene索引和我建立的搜索查询像如何使用查询语法搜索Lucene中的多个字段?
field1:"hello" AND field2:"world"
,但我想以搜索任何字段中的值,以及在同一个查询即在特定的字段中的值
field1:"hello" AND anyField:"world"
谁能告诉我如何以这种方式搜索所有索引字段?
基于我对这个问题的答案:Impact of repeat value across multiple fields in Lucene ...
我可以把同样的搜索词到多个领域,并从而创造一个“全”字段,我把一切都放在这样我可以。创建一个查询,如...
field1:"hello" AND all:"world"
这似乎工作得很好,防止需要巨大的搜索查询,显然对性能的影响是最小的。
带有每个字段的子句的布尔(OR)查询用于搜索多个字段。 MultiFieldQueryParser也会这样做,但这些字段仍然需要枚举。没有隐含的“全部”字段;但IndexReader.getFieldNames可以获取它们。
我创建了一个明确的“all”字段......它看起来并不理想,但每次创建字段时我都会添加到“all”字段。它的作品,但似乎有点垃圾。真的,我想要做的是为每个索引字段定义多个名称,以便我可以创建类别或能够在字段名称中使用通配符来搜索字段,以便我可以在“name *”中搜索“name.firstname:bob” – Edd
嗨,你可以发布上述语法的一些示例代码.... –