2012-11-08 24 views
1

我在探索Solr4和Polygons/linestrings。 這裏有一些信息,但不是像我這樣的基本用戶的howto /安裝指南。 http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4如何將spatial4j安裝到solr4中

據我所知,您需要將spatial4j代碼安裝到solr中。 (我最好是黑客)。 https://github.com/spatial4j/spatial4j/tree/master/src/main/java

  1. 難道一個知道我上傳此代碼,該solr4安裝裏面?請記住使用/ example/solr/collection1目錄。 「由於事情的組合,JTS不能簡單地被solrconfig.xml中的條目引用;它需要在Solr的war文件中的WEB-INF/lib中,basicall」有人知道這對安裝說明來說意味着什麼?我在一些指導什麼去哪裏。我使用start.jar在我的apache服務器上啓動solr。

  2. 之後,我明白,我只需要添加一個字段類型和字段()到架構,並應儘可能它應該安裝。

我試圖發送多邊形和線串查詢來查找多邊形內或線半徑內的所有文檔。

回答

3

Solr已經包含Spatial4j;它沒有的是JTS,它是一個java庫(.jar文件)。從https://sourceforge.net/projects/jts-topo-suite/下載JTS(.jar位於.zip發行版中)。 WEB-INF/lib是WAR文件中的java webapp引用。例子/ webapps/solr.war就是這樣的地方。 .war文件實際上是一個zip文件,可以是'.war'文件格式,也可以是未壓縮的普通目錄格式。因此,如果您在OSX中將'.war'重命名爲'.zip',則只需雙擊它即可將其展開。但是,然後將生成的目錄重命名爲'solr.war',並將原始的戰爭文件放在其他地方,因爲您現在不會使用它。把JTS jar放到solr.war/WEB-INF/lib /中。當你啓動Solr時,它將有權訪問JTS。如果由於任何原因無法訪問,則會得到與JTS相關的Java類有關的ClassNotFoundException。

+0

Thankyou。我按照建議做了一切事情。重新啓動的服務器,solr工作正常。如果我在solr wiki中添加對schema.xml文件的更改(添加字段類型,添加字段),那麼當我嘗試重新啓動時,我會看到「沒有SolrCores正在運行」。恢復先前的schema.xml文件再次工作。有任何想法嗎? –

+0

好吧我做了一些更多的研究,即時通訊使用TA Gels的solr排名算法版本,以及那裏我認爲問題是,它可能沒有按照此鏈接SpatialRecursivePrefixTreeFieldType。 http://www.datastax.com/support-forums/topic/problem-using-spatialrecursiveprefixtreefieldtype-in​​-solr-dse –

+0

只是想說,一切都按照David Smiley的上述建議進行。一個很容易遵循這個newb的指令。 –