2011-10-08 68 views
2

我正在編程ASP MVC3應用程序。該應用程序的一部分應該是包含分面搜索,全文搜索和距離搜索的產品列表。經過一段時間的研究,我找到了SOLR和SOLRNet。 我已經在Tomcat 7上安裝了Solr,並且包含了一個DataImportHandler,用於從我的MS SQL數據庫中索引數據。 現在我有一個問題也許只是一個理解的問題:如何使用Solr?

  1. 我想用被放置在數據庫中,可以改變每一次 的方面。我在哪裏必須實現方面索引?在ASP MVC應用程序中還是在solr的數據配置中?

  2. solr如何與solrnet結合使用,solr必須獲得我的數據庫的每個搜索的新索引 ,對嗎?

  3. 如何使Solr索引來自solrnet的數據?

  4. 我是否在每次更改後重建索引?

很多問題,我會很高興,如果有人知道其中的一些答案。 非常感謝,祝你週末愉快!

+1

我會建議Tomcat 6,因爲我在太多的地方看到第七個問題。可能是錯誤的,雖然 –

回答

2

我想使用的構面放置在數據庫中,每次都可能會發生變化。我在哪裏必須實現方面索引?在ASP MVC應用程序中還是在solr的數據配置中?

您提到您已經設置了DataImportHandler來爲您的數據建立索引,因此填充索引只是運行預定的完全導入或增量導入的問題。

solr如何與solrnet結合使用,solr必須爲每個搜索獲取我的數據庫的新索引,是否正確?

不,您不需要爲每個搜索都重新創建索引。

如何使Solr索引來自solrnet的數據?

你提到你已經設置了DataImportHandler索引你的數據,這是由具有Solr的來填充索引的有效方法拉從數據庫數據。如果您想使用SolrNet將數據推送到您的索引,請使用Add/AddRange methods

+0

感謝您的回答!最佳實踐是哪種方式:通過SOlr或通過SolrNet進行索引?在開始的時候,比以後更容易改變某些東西;-) – HW90

+1

@ HW90:DIH更容易入門,但最終你在做XML編程,我不太喜歡它。我在http://bugsquash.blogspot.com/2010/02/indexing-millions-of-documents-with.html上發表了這篇博文 –

0

我想使用的構面放置在數據庫中,每次都可能會發生變化。我在哪裏必須實現方面索引?在ASP MVC應用程序中還是在solr的數據配置中?

Solr provides out of the box faceting. 
you would index the data you need to facet in schema.xml and enable faceting during the searches in solrconfig.xml. 
On the application side you just need to process the facet data return by Solr. 

http://www.lucidimagination.com/devzone/technical-articles/faceted-search-solr 

solr如何與solrnet結合使用,solr必須爲每個搜索獲取我的數據庫的新索引,對嗎?

Usually the client (java and ruby) interacts with Solr through http executing searches and processing the results providing you an easy access. 
So everytime the search happens Solrnet would be querying the latest index. 

我有沒有重建索引的每一個變化?

With Data import handler you can incrementally index you data periodically. 
The timestamp handling is performed for you by Solr. 
You would need to have jobs which would perform the incremental indexing. 
However, if you need to have the data reflected with every change you would need to index the data through application. 

Dataimporthandler,在Tomcat 7上的Solr應該可以正常工作。檢查jdk版本,因爲jdk 7在Solr/Lucene中存在一些問題。