![](/img/trans.png)
[英]Java Lucene search - is it possible to search a number in a range?
[英]Is it possible to do this type of search in Java
我一直在从事一个我认为不可能实现的项目,我想知道是否有人可以证实我的信念,即不可能或至少给我提供了新的选择。
我们正在为一个客户做一个项目,该项目涉及从服务器大量下载文件(使用ftp4j和文档名称列表很容易),但是现在我们需要对服务器中的数据进行分类。 客户正在合同中工作,希望我们提取相关信息,例如:许可方,被许可方,产品,协议日期,终止日期,特许权使用费,限制。
由于文件完全不规范,这是否有可能? 我可以想象加载文件并进行搜索,但是我不知道如何从诸如许可方和协议限制之类的段落中提取信息。 这些不是哈希,而是长期合约。 即使我要搜索“许可方”,它也会多次出现在文档中。 这些文档甚至不是一致的文件格式。 有些是PDF,有些是文本,有些是html,我什至还看到有些和pdf中的扫描图像一样糟糕。
我的老板一直在敦促我从事这个项目,但我觉得我似乎没有选择。 我主要从事网络和移动业务,因此大数据确实不是我的强项。 这听起来可能在合理的时间内完成吗? (我们至少要讨论1000个文档)。 我一直在用Java进行此工作。
我会尽力为您提供一些信息,因为这不是我的专业领域。 我极力考虑编写一个脚本,该脚本标识正在处理的文件的类型,然后调用适当的解析方法来处理您要查找的文件。
由于您正在处理大数据,因此python可能会非常有用。 Javascript将是我的下一个选择。
如果您的总体代码是用Java编写的,那么无论您选择哪种代码,它都应该具有很高的可移植性和灵活性。 使用正则表达式或特定的字符串搜索将是解决此问题的好方法。
如果您只关心许可方及其名称,则可以标识该特定实例的格式,并使用创建的正则表达式搜索类似内容。 这可以外推到其他搜索实例。
要从图像获取文本,请尝试使用此页面上的API:
对于PDF中的文本:
https://www.idrsolutions.com/how-to-search-a-pdf-file-for-text/
而且,PDF只是文本,因此您应该最有可能使用正则表达式进行搜索。 那将是我的攻击方法,或者可能使用string.split()并创建一个可以附加到其上的字符串缓冲区。
对于HTML文档中的文本:
这是一个很酷的HTML解析器库: http : //jericho.htmlparser.net/docs/index.html
教如何删除HTML标记并获得有用信息的资源: http : //www.rgagnon.com/javadetails/java-0424.html
如果您还有其他需要,请告诉我。 我会尽力找到它!
Apache tika可以从几乎任何常用的文件格式中提取纯文本。
但是根据您描述的情况,您仍然需要像“自然语言识别”中那样分析文本。 那是一个领域; 尽管已经取得了一些进展(由专门的研究团队 ,花费了很多年的时间!); 电脑仍然会发生严重故障(有时甚至有人会失败)。
使用您提到的文档数量(1000份),雇用一名临时工,并按人的脑力对其进行排序/标记。 它会更便宜,并且您的错误分类会更少。
您可以使用tika进行文本提取。 如果存在固定模式,则可以使用正则表达式或xpath查询提取信息。 另一个解决方案是使用此视频中所示的Solr。您不需要solr,但请观看视频以了解想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.