用Lucene提取字段值

用Lucene提取字段值,lucene,information-retrieval,information-extraction,Lucene,Information Retrieval,Information Extraction,我的问题是,我只想用文本数据解析一个文档(而不是多个文档),并根据我的查询提取一些相关信息 例如: 如果我有以下文字: This is a sample document. Name: Te Age: 25 Email: te@gmail.com Some text in the end of the document 我想提取具有相应值的字段(姓名、年龄、电子邮件) 我发现的许多示例主要用于搜索与查询匹配的文档。如果有人能指导我在lucene库中查找哪些分析器或查询类,或者阅读哪些资料,我将

我的问题是,我只想用文本数据解析一个文档(而不是多个文档),并根据我的查询提取一些相关信息

例如: 如果我有以下文字:

This is a sample document.
Name: Te
Age: 25
Email: te@gmail.com
Some text in the end of the document
我想提取具有相应值的字段(姓名、年龄、电子邮件)


我发现的许多示例主要用于搜索与查询匹配的文档。如果有人能指导我在lucene库中查找哪些分析器或查询类,或者阅读哪些资料,我将不胜感激。

这将帮助您开始学习。使用正则表达式,在Java中,文档内容已分配给变量
text

String expr=“Name\:\s(\w+)\sAge\:\s+(\d+)\s+电子邮件\:\s+([a-z0-9.@]+)\s+”;
Pattern r=Pattern.compile(expr,Pattern.CASE\u不区分大小写);
匹配器m=r.Matcher(文本);
if(m.find())
{
System.out.println(“名称:+m.group(1));
系统输出println(“年龄:+m组(2));
System.out.println(“电子邮件:+m.group(3));
}
else{System.out.println(“未找到匹配项”);}

我不知道Lucene中用于字段/值对通用提取的功能。为什么要使用Lucene?好吧,我想的是使用Lucene索引文件和查询,例如关键字“Name”,以获取术语在文本中的位置。之后,我将从该位置获得以下n个连续标记作为“Name”的值,直到我点击另一个关键字“Age”,依此类推。如果我把事情弄复杂了,请纠正我。如果你能建议我使用Lucene以外的其他图书馆,请务必让我知道。谢谢如果您只需要提取姓名、年龄和电子邮件及其各自的值,我会使用正则表达式。