Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 作为一堆文本文件,您需要确定数据的类型,以便能够知道索引什么以及可以安全地忽略什么。为了简单起见,我假设这些是没有字段或任何内容的纯文本文件,并且不会深入讨论,但是如果您有多个字段要存储,我建议您让您的爬虫程序使用(好处是:生成bean,不允许访问器改变bean的内部状态,为bean创建一个新的变量)用于其他组件中_Java_Lucene_Web Crawler - Fatal编程技术网

Java 作为一堆文本文件,您需要确定数据的类型,以便能够知道索引什么以及可以安全地忽略什么。为了简单起见,我假设这些是没有字段或任何内容的纯文本文件,并且不会深入讨论,但是如果您有多个字段要存储,我建议您让您的爬虫程序使用(好处是:生成bean,不允许访问器改变bean的内部状态,为bean创建一个新的变量)用于其他组件中

Java 作为一堆文本文件,您需要确定数据的类型,以便能够知道索引什么以及可以安全地忽略什么。为了简单起见,我假设这些是没有字段或任何内容的纯文本文件,并且不会深入讨论,但是如果您有多个字段要存储,我建议您让您的爬虫程序使用(好处是:生成bean,不允许访问器改变bean的内部状态,为bean创建一个新的变量)用于其他组件中,java,lucene,web-crawler,Java,Lucene,Web Crawler,就API调用而言,您应该有类似于HttpCrawler#getDocuments(stringurl)的东西,它返回一个列表,与实际的索引器一起使用 基于Lucene的自动索引器 除了Lucene之外,还可以设置目录并了解其线程模型(任何时候都只允许一次写入操作,即使在更新索引时也可能存在多次读取),您当然希望将bean提供给索引。我已经链接到的五分钟教程基本上就是这样做的,请查看示例addDoc(..)方法,并将字符串替换为YourBean 请注意,Lucene IndexWriter确实有一

就API调用而言,您应该有类似于
HttpCrawler#getDocuments(stringurl)
的东西,它返回一个
列表
,与实际的索引器一起使用

基于Lucene的自动索引器 除了Lucene之外,还可以设置目录并了解其线程模型(任何时候都只允许一次写入操作,即使在更新索引时也可能存在多次读取),您当然希望将bean提供给索引。我已经链接到的五分钟教程基本上就是这样做的,请查看示例
addDoc(..)
方法,并将字符串替换为
YourBean

请注意,Lucene IndexWriter确实有一些清理方法,可以方便地以受控的方式执行,例如,仅在将一组文档添加到索引后调用对性能有好处,然后调用以确保索引不会随着时间的推移变得过多也是一个好主意。始终记住关闭索引为了避免抛出不必要的s,就像Java中的所有IO一样,这种操作当然应该在
finally
块中完成

警告
  • 你需要记得时不时地让你的Lucene索引的内容过期,否则你永远不会删除任何东西,它会变得臃肿,最终会因为它自身的复杂性而消亡
  • 由于线程模型,您很可能需要为索引本身创建一个单独的读/写抽象层,以确保在任何给定时间只有一个实例可以写入索引
  • 由于源数据采集是通过HTTP完成的,所以您需要考虑数据的验证和可能的错误情况,例如服务器不可用,以避免任何类型的错误索引和客户端HANGUPS。
  • 你需要知道你想从索引中搜索什么,才能决定你要在其中输入什么。请注意,必须按日期进行索引,以便将日期拆分为年、月、日、时、分、秒,而不是毫秒值,因为从Lucene索引执行范围查询时,
    [0到5]
    实际上被转换为
    +0+1+2+3+4+5
    ,这意味着范围查询很快消失,因为查询子部分的数量最多

有了这些信息,我相信你可以在不到一天的时间内制作出你自己的特殊Lucene indexer,如果你想严格测试的话。你的编程相关问题是什么?好吧,Lucene没有网络爬虫,这是你的编程相关问题吗?好吧,Lucene没有网络爬虫,这是好的它们是相关的,但nutch使用的是修改的lucene索引,solr是另一种类型的应用程序。Tnx无论如何,它们是相关的,但nutch使用的是修改的lucene索引,solr是另一种类型的应用程序。Tnx无论如何