我目前正在抓取28个站点(小的、小的、大的),并且这些爬行生成了大约25 of的数据。我正在用Elasticsearch建立索引,并使用edge_n-gram
策略实现自动完成。经过一些测试,我似乎需要更多的数据来创建更好的多词(短语)建议。我知道我可以简单地抓取更多的站点,但是有什么方法可以让Nutch完全地抓取每个站点,还是尽可能多地创建更多的数据,以便通过edge_n_grams
提供更好的搜索建议?
或
这是一个失败的原因吗?不管我有多少数据,通过记录用户的搜索查询来创建更好的多词建议是最好的方法吗?
发布于 2016-05-03 18:53:53
您可以始终增加希望爬行的链接数量,如果使用bin/crawl
命令,则只需增加迭代次数或修改脚本,并增加sizeFetchlist
参数(https://github.com/apache/nutch/blob/master/src/bin/crawl#L117)。此参数仅用作常规topN
脚本中的bin/nutch
参数。
请记住,这个选项也可以在2.x分支上使用。
你想要实现什么样的建议?在我不久前开发的一个应用程序中,我们使用这两种方法的组合(我们使用Solr而不是elasticsearch,但本质是相同的),我们在一个单独的集合/索引中索引用户查询,在这个应用中,我们配置了一个EdgeNGramFilterFactory
(Solr相当于ES的edge_n_grams
),这提供了一些基本的查询建议,基于用户已经搜索到的内容。当使用这种方法找不到任何建议时,我们尝试根据爬行内容的内容建议单个术语,这需要在前端进行一些javascript的调整。
不确定在网页的所有文本内容中使用edge_n_grams
是否会有帮助,主要是因为将创建整个内容的NGrams,并且由于匹配的数量众多,建议不会那么相关,但我不知道您的具体用例。
https://stackoverflow.com/questions/37009077
复制相似问题