虽然是一个新手,但这个问题可能很天真。 我想根据索引搜索我的索引。所以我尝试创建一个只有一个索引名称的文档,然后想要搜索该特定字段。
我正在尝试查找是否可以更新文档的字段而不实际删除lucene中的文档。
感谢。
答案 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中更新文档。您必须删除并重新插入。