Apache Solr installieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Apache Solr installieren

    Da ich es nach einer Neuinstallation richtig machen will, wäre ich sehr froh, die Installation des Apache Solr genauestens beschrieben zu bekommen. Viele der Tutorials, die es im Web schon gibt, funktionieren bei mir nicht bzw. der Solr-Server bringt danach nur Fehlerauswürfe, die ich so nicht finden kann.

    Ich wäre über jede Hilfe also dankbar!
  • Hi,
    mit welchem Webserver hast du es denn versucht?
    Ich betreibe Solr im Moment mit Jetty, da war die Installation denkbar einfach, weil Jetty mitgeliefert wird.

    Konkret musste ich nur die Zip Datei herunterladen und den Webserver aus dem example Ordner mit java -jar start.jar starten.
    Um Solr konkret für deine Anwendung zu optimieren, musst du dann natürlich noch die schema.xml ändern.
    Ich nutze Solr zusammen mit Nutch, und habe die Nutch schema.xml einfach nach Solr kopiert.

    Lg
  • Mein Solr Plugin geht von folgenden Spalteninformationen aus:

    Quellcode

    1. $doc = new Apache_Solr_Document();
    2. $doc->id = '...';
    3. $doc->boost = '...';
    4. $doc->site = '...';
    5. $doc->url = '...';
    6. $doc->content = '...';
    7. $doc->title = '...';
    8. $doc->tstamp = '...';
    9. $doc->type = '...';


    Folgendes Solr Schema nutze ich dazu: trac.easy-coding.de/trac/wcf/b…olr/conf/schema_nutch.xml.

    Außerdem nutze ich den folgenden Request Handler, der fürs Scoring zuständig ist

    Quellcode

    1. <requestHandler name="/nutch" class="solr.SearchHandler">
    2. <lst name="defaults">
    3. <str name="defType">dismax</str>
    4. <str name="echoParams">explicit</str>
    5. <float name="tie">0.01</float>
    6. <str name="qf">content^0.5 anchor^1.0 title^1.2</str>
    7. <str name="pf">content^0.5 anchor^1.5 title^1.2 site^1.5</str>
    8. <str name="fl">url</str>
    9. <str name="mm">2&lt;-1 5&lt;-2 6&lt;90%</str>
    10. <int name="ps">100</int>
    11. <bool name="hl">true</bool>
    12. <int name="hl.fragsize">800</int>
    13. <str name="q.alt">*:*</str>
    14. <str name="hl.fl">title url content</str>
    15. <str name="f.title.hl.fragsize">0</str>
    16. <str name="f.title.hl.alternateField">title</str>
    17. <str name="f.url.hl.fragsize">0</str>
    18. <str name="f.url.hl.alternateField">url</str>
    19. <str name="f.content.hl.fragmenter">regex</str>
    20. </lst>
    21. </requestHandler>
    Alles anzeigen


    Dieser gehört in die solr-config und ist hier zu finden: trac.easy-coding.de/trac/wcf/b…conf/solrconfig_nutch.xml

    Langfristig plane ich natürlich die Solr Spalten mit dem ACP abzubilden.

    Lg
  • Okay, habe das bei mir so gemacht und der Start funktionierte auch, habe aber nun beim Suchen im WCF dennoch diese Fehlermeldung:

    Quellcode

    1. exception 'Exception' with message '"404" Status: Not Found' in /var/customers/webs/KittBlog/private/wcf/lib/data/solr/Service.php:334 Stack trace: #0 /var/customers/webs/KittBlog/private/wcf/lib/data/solr/Service.php(964): Apache_Solr_Service->_sendRawGet('http://78.47.18...') #1 /var/customers/webs/KittBlog/private/lib/page/SolrSearchPage.class.php(79): Apache_Solr_Service->search('test', 0, 20) #2 /var/customers/webs/KittBlog/private/wcf/lib/page/SearchResultPage.class.php(86): SolrSearchPage->readSearch() #3 /var/customers/webs/KittBlog/private/wcf/lib/page/AbstractPage.class.php(46): SearchResultPage->show() #4 /var/customers/webs/KittBlog/private/wcf/lib/page/SearchResultPage.class.php(38): AbstractPage->__construct() #5 /var/customers/webs/KittBlog/private/lib/page/SolrSearchPage.class.php(20): SearchResultPage->__construct(0) #6 /var/customers/webs/KittBlog/private/wcf/lib/util/RequestHandler.class.php(64): SolrSearchPage->__construct() #7 /var/customers/webs/KittBlog/private/wcf/lib/util/RequestHandler.class.php(92): RequestHandler->__construct('SolrSearch', Array, 'page') #8 /var/customers/webs/KittBlog/private/index.php(8): RequestHandler::handle(Array) #9 {main}
    Im ACP habe ich als Server diesen angegeben: 78.47.181.134:8983/solr/ und als Servlet nutch gelassen. Warum ich aber dennoch einen 404 Fehler bekomme, weiß ich nicht...
  • Habe es zwar eigentlich so gemacht, wie du es oben geschrieben hast, aber dennoch bleibt der RequestHandler select. Habe das nun eingetragen und bekomme nun einen neuen Fehler bei der Suche:

    Quellcode

    1. Fatal error: PHP notice in file /var/customers/webs/KittBlog/private/wcf/templates/compiled/108_9_1_solr.php (85): Undefined index: additionalPagesParameterString
    2. Information:
    3. error message: PHP notice in file /var/customers/webs/KittBlog/private/wcf/templates/compiled/108_9_1_solr.php (85): Undefined index: additionalPagesParameterString
    4. error code: 0
    5. file: /var/customers/webs/KittBlog/private/wcf/lib/system/WCF.class.php (281)
    6. php version: 5.2.6-1+lenny9
    7. wcf version: 1.1.4 (Tempest)
    8. date: Thu, 17 Feb 2011 18:51:31 +0000
    9. request: /index.php?page=SolrSearch&q=test
    10. referer: http://pr.kittblog.de/
    11. Stacktrace:
    12. #0 /var/customers/webs/KittBlog/private/wcf/templates/compiled/108_9_1_solr.php(85): WCF::handleError(8, 'Undefined index...', '/var/customers/...', 85, Array)
    13. #1 /var/customers/webs/KittBlog/private/wcf/lib/system/template/Template.class.php(267): include('/var/customers/...')
    14. #2 /var/customers/webs/KittBlog/private/wcf/lib/page/AbstractPage.class.php(100): Template->display('solr')
    15. #3 /var/customers/webs/KittBlog/private/wcf/lib/page/SearchResultPage.class.php(88): AbstractPage->show()
    16. #4 /var/customers/webs/KittBlog/private/wcf/lib/page/AbstractPage.class.php(46): SearchResultPage->show()
    17. #5 /var/customers/webs/KittBlog/private/wcf/lib/page/SearchResultPage.class.php(38): AbstractPage->__construct()
    18. #6 /var/customers/webs/KittBlog/private/lib/page/SolrSearchPage.class.php(20): SearchResultPage->__construct(0)
    19. #7 /var/customers/webs/KittBlog/private/wcf/lib/util/RequestHandler.class.php(64): SolrSearchPage->__construct()
    20. #8 /var/customers/webs/KittBlog/private/wcf/lib/util/RequestHandler.class.php(92): RequestHandler->__construct('SolrSearch', Array, 'page')
    21. #9 /var/customers/webs/KittBlog/private/index.php(8): RequestHandler::handle(Array)
    22. #10 {main}
    Alles anzeigen
    Da ich den Server nur temporär gestartet habe, ist er auch nur dann erreichbar, wenn ich das entsprechende SSH-Fenster noch offen habe ;) Du hast nicht zufällig ein Script für /etc/init.d?

    Wenn ich dann übrigens etwas suche, erscheinen im SSH-Fenster diese Zeilen:

    Quellcode

    1. 17.02.2011 18:52:48 org.apache.solr.core.SolrCore execute
    2. INFO: [] webapp=/solr path=/select params={start=0&q=firefox&json.nl=map&wt=json&version=1.2&rows=20} hits=0 status=0 QTime=1
    Falls das etwas hilft. Den Suchindex kann ich im Übrigen immer noch nicht aufrufen im ACP des WCFs. Muss ich davor noch etwas schreiben, die Anzeigen aktualisieren oder irgendetwas anderes?