windows下安裝solr6.4.1及常見異常

科普篇

來自百度百科:Solr簡介Solr是一個基于Lucene的Java搜索引擎服務(wù)器。Solr 提供了層面搜索、命中醒目顯示并且支持多種輸出格式(包括 XML/XSLT 和 JSON 格式)绪氛。它易于安裝和配置陆盘,而且附帶了一個基于 HTTP 的管理界面吃沪。Solr已經(jīng)在眾多大型的網(wǎng)站中使用,較為成熟和穩(wěn)定绘雁。Solr 包裝并擴(kuò)展了 Lucene,所以Solr的基本上沿用了Lucene的相關(guān)術(shù)語援所。更重要的是庐舟,Solr 創(chuàng)建的索引與 Lucene 搜索引擎庫完全兼容。通過對 Solr 進(jìn)行適當(dāng)?shù)呐渲米∈茫承┣闆r下可能需要進(jìn)行編碼挪略,Solr 可以閱讀和使用構(gòu)建到其他 Lucene 應(yīng)用程序中的索引。此外滔岳,很多 Lucene 工具(如Nutch瘟檩、 Luke)也可以使用 Solr 創(chuàng)建的索引。

安裝篇

準(zhǔn)備工作:jdk-8u111澈蟆、apache-tomcat-8.0.39墨辛、solr6.4.1。
這是solr的下載地址:http://archive.apache.org/dist/lucene/solr/6.4.1/趴俘,下載solr-6.4.1.zip就行睹簇。

下面是具體的搭建步驟:

第一步:把solr-6.4.1.zip解壓之后,找到solr-6.4.1/server/server-webapp/目錄下的webapp文件夾寥闪,復(fù)制粘貼到tomcat下的webapps下太惠;
第二步:把solr-6.4.1/server/lib/ext目錄下的所有jar包、和solr-6.4.1/dist下的solr-dataimporthandler-6.4.1.jar疲憋、solr-dataimporthandler-extras-6.4.1.jar粘貼復(fù)制到tomcat下的solr項(xiàng)目的WEB-INF/lib目錄下凿渊;
第三步:把server目錄下的solr文件夾粘貼復(fù)制到其他目錄,然后重命名為:solrhome,這是solr核心文件夾埃脏。
第四步:修改tomcat下的solr項(xiàng)目的WEB-INF/web.xml搪锣,這一步用來指定默認(rèn)的solrhome。在web.xml開頭附近找到:

    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>D:/solrhome</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

然后取消注釋彩掐,把<env-entry-value>填第三步solrhome文件夾的地址构舟。
第五步:在tomcat下的solr項(xiàng)目的WEB-INF下新建classes目錄,然后把solr-6.4.1/server/resources下的log4j.properties粘貼過去堵幽;
做完這五步就基本搭建完成了狗超,可以訪問http://localhost:8080/solr/index.html可以到solr的后臺做一些配置工作。

異常篇

下面說一下搭建過程中可能遇到的異常:

  1. 啟動tomcat時如果報(bào)下面的錯誤:
嚴(yán)重: Exception starting filter SolrRequestFilter
java.lang.NoClassDefFoundError: com/codahale/metrics/MetricSetat java.lang.Class.getDeclaredConstructors0(Native Method)at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)at java.lang.Class.getConstructor0(Class.java:3075)at java.lang.Class.newInstance(Class.java:412)at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4700)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5340)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1092)at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1834)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)Caused by: java.lang.ClassNotFoundException: com.codahale.metrics.MetricSetat org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)... 20 more

請把solr-6.4.1/server/lib下的metrics-core-3.1.2.jar朴下,metrics-ganglia-3.1.2.jar,metrics-graphite-3.1.2.jar,metrics-jetty9-3.1.2.jar,metrics-jvm-3.1.2.jar這幾個jar包放到tomcat下的solr項(xiàng)目的WEB-INF/lib目錄下努咐。

  1. 訪問http://localhost:8080/solr/index.html時如果報(bào)下面的錯誤:
    HTTP Status 403 - Access to the requested resource has been denied
    **把tomcat下的solr項(xiàng)目的web.xml文件中
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Disable TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method>TRACE</http-method>
    </web-resource-collection>
    <auth-constraint/>
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Enable everything but TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method-omission>TRACE</http-method-omission>
    </web-resource-collection>
  </security-constraint>

這段注釋掉。這段配置限制了對solr資源的訪問殴胧,注釋掉就可以訪問了麦撵。**

  1. java.lang.NoSuchMethodError:
    解決:solr5.5以上版本在tomcat8下運(yùn)行
    由于solr5.5.0和solr5.5.1 版本部署在tomcat7下的時候,會報(bào)Java.lang.NoSuchMethodError: javax.servlet.ServletInputStream.isFinished()Z的錯誤溃肪,這個是serverlet3.1才有的方法免胃。
  2. javax.servlet.ServletInputStream.isFinished
    解決:solr5版本以上的部署最好使用JDK1.8
    solr5版本以上的部署最好使用JDK1.8,雖然官網(wǎng)沒有明確表示solr5必須是要使用JDK1.8惫撰,但是其中一部分功能鎖需求的JDK版本在JDK1.7以下是沒有的
    比如:Java.lang.NoSuchMethodError: javax.servlet.ServletInputStream.isFinished()Z
    我是在全量索引的時候發(fā)生的此異常提示:找不到ServletInputStream類下面的isFinished()方法羔沙,那么現(xiàn)在我們找到該類ServletInputStream
    如果在這個類下面沒有isFinished()方法,那就是JAR包問題厨钻,這個類所在的jar包是servlet-api.jar

解決掉上面的異常后扼雏,重啟tomcat,訪問http://localhost:8080/solr/index.html夯膀,不出意外會進(jìn)入如下圖的頁面

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末诗充,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子诱建,更是在濱河造成了極大的恐慌蝴蜓,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俺猿,死亡現(xiàn)場離奇詭異茎匠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)押袍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進(jìn)店門诵冒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谊惭,你說我怎么就攤上這事汽馋∥甓” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵豹芯,是天一觀的道長悄雅。 經(jīng)常有香客問我,道長告组,這世上最難降的妖魔是什么煤伟? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任癌佩,我火速辦了婚禮木缝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘围辙。我一直安慰自己我碟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布姚建。 她就那樣靜靜地躺著矫俺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪掸冤。 梳的紋絲不亂的頭發(fā)上厘托,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機(jī)與錄音稿湿,去河邊找鬼铅匹。 笑死,一個胖子當(dāng)著我的面吹牛饺藤,可吹牛的內(nèi)容都是我干的包斑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼涕俗,長吁一口氣:“原來是場噩夢啊……” “哼罗丰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起再姑,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤萌抵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后元镀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谜嫉,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年凹联,在試婚紗的時候發(fā)現(xiàn)自己被綠了沐兰。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蔽挠,死狀恐怖住闯,靈堂內(nèi)的尸體忽然破棺而出瓜浸,到底是詐尸還是另有隱情,我是刑警寧澤比原,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布插佛,位于F島的核電站,受9級特大地震影響量窘,放射性物質(zhì)發(fā)生泄漏雇寇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一蚌铜、第九天 我趴在偏房一處隱蔽的房頂上張望锨侯。 院中可真熱鬧,春花似錦冬殃、人聲如沸囚痴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽深滚。三九已至,卻和暖如春涣觉,著一層夾襖步出監(jiān)牢的瞬間痴荐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工官册, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留生兆,地道東北人。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓攀隔,卻偏偏與公主長得像皂贩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子昆汹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容