繁体   English   中英

将SOLR与Web项目一起使用的最佳方法是什么?

[英]What's the best approach for using SOLR with web projects?

好吧,我是SOLR和Lucene的新手,但是已经让Solr在Tomcat 6.x下运行开箱即用,并且刚刚完成了一些基本的Wiki条目。

我有几个问题,也需要一些建议。

  1. Solr可以索引文件(XML,CSV)中的数据,也可以索引DB。 您是否也可以将其指向URI /域,并让它以谷歌的方式为网站编制索引?

  2. 如果我的网站有“页面”数据,那么“页面名称”,“页面内容”等,以及“产品数据”,那么“产品名称”,“SKU”等,我是否需要两个不同的Schema.xml文件? 如果是这样,这是否意味着两个不同的Solr实例?

最后,如果你有一个包含大型关系数据库和规范化数据库的项目,你会说下面3个选项的最佳方法是什么?:

  1. 在后台运行中间件服务,该服务挖掘数据库并手动创建相关的XML文件,然后发送到SOLR

  2. 让SOLR直接索引DB。 在这种情况下,最好只将SOLR指向视图,这将抽象所有表关系?

  3. 还有其他我不知道的选择吗?

上下文:我们运行的是Windows 2003环境,.NET 3.5,SQLServer 2005/2008

干杯!

  1. 不,你需要一个爬虫,例如Nutch
  2. 是的,您需要两个单独的索引(=两个schema.xml),因为数据集似乎不相关。 这并不意味着Solr的两个实例,您可以使用Cores管理这两个索引。

至于填充Solr索引,它取决于您的特定项目,例如,它是否可以容忍陈旧数据,还是必须绝对新鲜。

索引数据的其他选项包括:

  • 数据库触发器
  • 如果您正在使用某种ORM,请使用其拦截功能。 例如,您可以使用NHibernate事件来更新,插入或删除索引。 如果你使用NHibernate和SolrNet,将自动处理

我认为毛里西奥对他的建议已经死了。 我要做的唯一一点就是决定拥有一个“中间件”索引器,或者直接使用数据库。 如果您的数据库(或视图?)非常接近Solr架构所需的内容,那么DIH非常棒。 但是,如果您要从多个数据源编制索引,或者您必须了解数据库中的数据以满足Solr所需的数据,那么拥有专用的中间件索引器会更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM