在Lucene按字段搜索

时间:2010-10-13 03:34:50

标签: lucene

虽然是一个新手,但这个问题可能很天真。 我想根据索引搜索我的索引。所以我尝试创建一个只有一个索引名称的文档,然后想要搜索该特定字段。

我正在尝试查找是否可以更新文档的字段而不实际删除lucene中的文档。

感谢。

2 个答案:

答案 0 :(得分:4)

您可以使用冒号语法name:john搜索特定字段中的字词。

但是因为很多索引只有一个你想要搜索的字段,所以有一个默认字段,以防你只搜索john。您可以设置实例化QueryParser时的字段

QueryParser parser = new QueryParser(Version.LUCENE_30, "name", anAnalyzer);
Query q = parser.parse("john");

如果要以编程方式创建查询而不是解析用户输入的查询字符串,则还必须明确指定字段,例如:

Query q = new TermQuery(new Term("name", "john"));

链接:Using fields in Lucene queries (Lucene Query Syntax) | QueryParser Javadoc | TermQuery Javadoc

答案 1 :(得分:0)

  

我正在尝试查看是否可以更新文档的字段而不实际删除lucene中的文档。

我不明白第一个问题,但您无法在Lucene中更新文档。您必须删除并重新插入。