2011-03-13 120 views
0

我使用solr DIH创建索引。我想使用Lucene.net库查询该索引数据。如何使用lucene.net查询solr索引

solr的索引的路径是d:\测试\ solr的\示例\例如-DIH \ solr的\分贝\数据\索引

我用来创建Lucene索引目录对象中的代码如下:

在执行的代码的最后一行
Analyzer anz = new StandardAnalyzer(); 
Directory dir = 
FSDirectory.GetDirectory(@"D:\Tests\solr\example\example DIH\solr\db\data\index", false); 
IndexSearcher isearcher = new IndexSearcher(dir); 

我得到以下异常:

找不到文件 “d:\测试\ Solr的\例子\例子,DIH \ Solr的\ DB \ DATA \指标\段。

鉴于我Solr的索引文件夹中的文件是

  • _0.fdt
  • _0.fdx
  • _0.fnm
  • _0.frq
  • _0.nrm
  • _0.prx
  • _0.tii
  • _0.tis
  • segments.gen
  • segments_2

那么,什么是问题?

回答

0

Lucene.NET只支持Lucene 2.9.2.2版本,而Solr则在Lucene 2.9.3上运行。这意味着Lucene.NET不能轻松索引SOLR索引。

现在,您可以使用类似SolrSharp的东西直接访问Solr,避开此版本问题。

+0

与我的问题是,我已经使用SolrNet库来查询我的索引,并且我想添加自己的程序集,将SolrNet引用到Sql Server程序集并在sql上创建一个外部函数,以调用我自己的程序集内的代码。不幸的是,SolrNet和SolrSahrp引用System.Web程序集不受Sql Server支持。所以我需要在solr索引上使用lucene来解决这个问题。 – 2011-03-13 20:26:39

+0

@SubPortal:不幸的是,如果没有System.Web,就不能有SolrNet或SolrSharp,因为所有与Solr的通信都是通过HTTP进行的。 – 2011-03-14 00:11:12

+0

@SubPortal:你为什么要在SQL Server上运行SolrNet? – 2011-03-14 00:11:57