2011-03-13 115 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