我最近开始研究nutch,我正在努力了解它是如何工作的.据我所知,Nutch基本上用于抓取网络,solr/Lucene用于索引和搜索.但是当我阅读关于nutch的文档时,它说nutch也做了反向索引.它是否在内部使用Lucene进行索引,还是有其他一些用于索引的库?如果它使用solr/lucene进行索引,那么为什么有必要用nutch配置solr,正如nutch教程所说的那样?
索引是否默认完成.我的意思是我运行此命令来开始爬行.索引正在这里发生吗?
bin/nutch crawl urls -dir crawl -depth 3 -topN 5
Run Code Online (Sandbox Code Playgroud)
或者仅在这种情况下发生索引.(根据教程:如果您已经设置了Solr核心并希望为其编制索引,则需要将-solr参数添加到爬网命令中,例如)
bin/nutch crawl urls -solr http://localhost:8983/solr/ -depth 3 -topN 5
Run Code Online (Sandbox Code Playgroud) 我最近开始寻找apache nutch.我可以设置并能够使用nutch抓取我感兴趣的网页.我不太了解如何读取这些数据.我基本上想要将每个页面的数据与一些元数据(现在的一些随机数据)相关联,并将它们存储在本地,稍后将用于搜索(语义).我是否需要使用solr或lucene?我是所有这些的新手.据我所知,Nutch习惯于抓取网页.它是否可以执行一些其他功能,例如向已爬网数据添加元数据?
我有2个表第一个表 - 事件第二个表 - 类别
@Entity
public class Event {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long eventId;
private String name;
@ManyToOne
@JoinColumn(name = "category_id")
private EventCategory category;
//getters and setters
}
@Entity
@Table(uniqueConstraints = @UniqueConstraint(columnNames = { "CATEGORY" }))
public class EventCategory {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long categoryId;
@NotNull
private String category;
@OneToMany(mappedBy = "category", cascade = CascadeType.ALL)
private List<Event> events;
}
Run Code Online (Sandbox Code Playgroud)
现在我想要所有类别都有价值的事件.我对jpa很新.很难为此编写查询.如果你可以帮助我,那将会很有帮助.
编辑:我在事件表中存储categoryId.我希望能够按类别名称搜索.类别名称仅保存在类别表中.所以我想我需要与类别表进行联接.
对于侧面项目,我开始使用PDFBox将pdf文件转换为图像.这是我用来转换为图像文件https://bitcoin.org/bitcoin.pdf的pdf文件.
这是我正在使用的代码.这是一个非常简单的代码,它调用PDFToImage.但输出jpg图像文件看起来非常糟糕,插入了大量逗号和一些重叠文本.
String [] args_2 = new String[7];
String pdfPath = "C:\\bitcoin.pdf";
args_2[0] = "-startPage";
args_2[1] = "1";
args_2[2] = "-endPage";
args_2[3] = "1";
args_2[4] = "-outputPrefix";
args_2[5] = "my_image_2";
//args_2[6] = "-resolution";
//args_2[7] = "1000";
args_2[6] = pdfPath;
try {
PDFToImage.main(args_2);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)