2014年10月27日 星期一

Solr_08_03_solrApp專案設定調整

  • 編輯solrApp專案pom.xml。(只有修改dependencies部份)
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        .......
        <dependencies>
            <!-- 
               Solr自帶的Guava 14.0.1在GlassFish啟動時,會導致CDI deployment failure:WELD-001408錯誤,
               所以需要刪除自帶的Guava ,並導入最新的Guava
            -->
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>17.0</version>
            </dependency>
            <!-- 
               加這個相依是因為glassfish啟動時,會出現下面的警告
               Unable to load class org.apache.hadoop.hdfs.web.resources.UserProvider
               reason: java.lang.NoClassDefFoundError: com/sun/jersey/spi/inject/InjectableProvider
            -->
            <dependency>
                <groupId>com.sun.jersey</groupId>
                <artifactId>jersey-bundle</artifactId>
                <version>1.9.1</version>
            </dependency>
        </dependencies>
        .......
    </project>
    

    就算沒有加 jersey-bundle的dependency也不會影響solrApp運作

  • 刪除solr本身自帶的guava.jar

  • 到 C:\solr\example\ 資料夾底下,將solr資料夾整個複製到c槽並且重新命名為solrhome,並且再新增一個solrdata資料夾。


    solr資料夾指的就是啟動時,引用core的那個資料夾,而且非強制重命名。

  • 如果02_建立DB CORE並查詢這個步驟有完成,可以順便把db core放進去solrhome資料夾,但是要另外將 C:\solr\ 資料夾 的contribdist 資料夾一同複製放到solrhome裡面去

    加入contrib、dist這兩個資料夾是因為db core的solrconfig.xml有引用

  • 如果放入db core,需要重新編輯 C:\solrhome\db\conf\solrconfig.xml ,將lib的引用路徑進行修正。
      <lib dir="../dist/" regex="solr-dataimporthandler-.*\.jar" />
      <lib dir="../contrib/extraction/lib" regex=".*\.jar" />
      <lib dir="../dist/" regex="solr-cell-\d.*\.jar" />
      <lib dir="../contrib/clustering/lib/" regex=".*\.jar" />
      <lib dir="../dist/" regex="solr-clustering-\d.*\.jar" />
      <lib dir="../contrib/langid/lib/" regex=".*\.jar" />
      <lib dir="../dist/" regex="solr-langid-\d.*\.jar" />
      <lib dir="../contrib/velocity/lib" regex=".*\.jar" />
      <lib dir="../dist/" regex="solr-velocity-\d.*\.jar" />

沒有留言:

張貼留言