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

and*_*ndy 5 indexing search solr

好吧,我是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

干杯!

Mau*_*fer 7

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

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

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

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