1.下载并编译lucene-solr的源代码,并导入 eclipse sts等
2.修改SolrDispatchFilter的solr.solr.home属性,我们这里将其直接修改为一个本地绝对路径,以便能够直接启动:
//String solrHome = (String) config.getServletContext().getAttribute(SOLRHOME_ATTRIBUTE); String solrHome="E:\\demo\\lucene-solr\\solr\\server\\solr";
3.修改StartSolrJetty类
WebAppContext bb = new WebAppContext(); bb.setServer(server); bb.setContextPath("/solr"); bb.setWar("solr/webapp/web");
4.启动StartSolrJetty main方法
SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/E:/demo/lucene-solr/solr/core/lib/slf4j-log4j12-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/E:/demo/lucene-solr/solr/solrj/test-lib/slf4j-log4j12-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/E:/demo/lucene-solr/solr/solr-ref-guide/lib/slf4j-simple-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 0 INFO (main) [ ] o.e.j.u.log Logging initialized @512ms >>> STARTING EMBEDDED JETTY SERVER, PRESS ANY KEY TO STOP 186 INFO (main) [ ] o.e.j.s.Server jetty-9.3.20.v20170531 590 INFO (main) [ ] o.e.j.w.StandardDescriptorProcessor NO JSP Support for /solr, did not find org.eclipse.jetty.jsp.JettyJspServlet 645 ERROR (main) [ ] o.a.s.u.StartupLoggingUtils Missing Java Option solr.log.dir. Logging may be missing or incomplete. 650 INFO (main) [ ] o.a.s.s.SolrDispatchFilter ___ _ Welcome to Apache Solr™ version 7.2.2 650 INFO (main) [ ] o.a.s.s.SolrDispatchFilter / __| ___| |_ _ Starting in standalone mode on port null 650 INFO (main) [ ] o.a.s.s.SolrDispatchFilter \__ \/ _ \ | '_| Install dir: null 664 INFO (main) [ ] o.a.s.s.SolrDispatchFilter |___/\___/_|_| Start time: 2019-03-06T08:37:17.132Z 691 INFO (main) [ ] o.a.s.c.SolrResourceLoader solr home defaulted to 'solr/' (could not find system property or JNDI) 698 INFO (main) [ ] o.a.s.c.SolrXmlConfig Loading container configuration from E:\demo\lucene-solr\solr\server\solr\solr.xml 10482 INFO (main) [ ] o.a.s.c.CorePropertiesLocator Found 1 core definitions underneath E:\demo\lucene-solr\solr\server\solr 10484 INFO (main) [ ] o.a.s.c.CorePropertiesLocator Cores are: [new_core] 10490 INFO (coreLoadExecutor-6-thread-1) [ ] o.a.s.c.TransientSolrCoreCacheDefault Allocating transient cache for 2147483647 transient cores 10568 WARN (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.c.SolrConfig Couldn't add files from E:\demo\lucene-solr\solr\server\solr\..\..\..\..\contrib\extraction\lib filtered by .*\.jar to classpath: E:\demo\lucene-solr\solr\server\solr\..\..\..\..\contrib\extraction\lib 10568 WARN (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.c.SolrConfig Couldn't add files from E:\demo\lucene-solr\solr\server\solr\..\..\..\..\dist filtered by solr-cell-\d.*\.jar to classpath: E:\demo\lucene-solr\solr\server\solr\..\..\..\..\dist 10568 WARN (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.c.SolrConfig Couldn't add files from E:\demo\lucene-solr\solr\server\solr\..\..\..\..\contrib\clustering\lib filtered by .*\.jar to classpath: E:\demo\lucene-solr\solr\server\solr\..\..\..\..\contrib\clustering\lib 10569 WARN (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.c.SolrConfig Couldn't add files from E:\demo\lucene-solr\solr\server\solr\..\..\..\..\dist filtered by solr-clustering-\d.*\.jar to classpath: E:\demo\lucene-solr\solr\server\solr\..\..\..\..\dist 10569 WARN (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.c.SolrConfig Couldn't add files from E:\demo\lucene-solr\solr\server\solr\..\..\..\..\contrib\langid\lib filtered by .*\.jar to classpath: E:\demo\lucene-solr\solr\server\solr\..\..\..\..\contrib\langid\lib 10569 WARN (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.c.SolrConfig Couldn't add files from E:\demo\lucene-solr\solr\server\solr\..\..\..\..\dist filtered by solr-langid-\d.*\.jar to classpath: E:\demo\lucene-solr\solr\server\solr\..\..\..\..\dist 10569 WARN (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.c.SolrConfig Couldn't add files from E:\demo\lucene-solr\solr\server\solr\..\..\..\..\dist filtered by solr-ltr-\d.*\.jar to classpath: E:\demo\lucene-solr\solr\server\solr\..\..\..\..\dist 10569 WARN (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.c.SolrConfig Couldn't add files from E:\demo\lucene-solr\solr\server\solr\..\..\..\..\contrib\velocity\lib filtered by .*\.jar to classpath: E:\demo\lucene-solr\solr\server\solr\..\..\..\..\contrib\velocity\lib 10569 WARN (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.c.SolrConfig Couldn't add files from E:\demo\lucene-solr\solr\server\solr\..\..\..\..\dist filtered by solr-velocity-\d.*\.jar to classpath: E:\demo\lucene-solr\solr\server\solr\..\..\..\..\dist 10603 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.SolrIndexConfig IndexWriter infoStream solr logging is enabled 10606 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.c.SolrConfig Using Lucene MatchVersion: 7.2.2 10794 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.s.IndexSchema [new_core] Schema name=example 10977 INFO (main) [ ] o.e.j.s.h.ContextHandler Started o.e.j.w.WebAppContext@6e9175d8{/solr,file:///E:/demo/lucene-solr/solr/webapp/web/,AVAILABLE}{solr/webapp/web} 10998 INFO (main) [ ] o.e.j.s.AbstractConnector Started ServerConnector@74d1dc36{HTTP/1.1,[http/1.1]}{0.0.0.0:8983} 10998 INFO (main) [ ] o.e.j.s.Server Started @11529ms 11572 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.RestManager Registered ManagedResource impl org.apache.solr.rest.schema.analysis.ManagedWordSetResource for path /schema/analysis/stopwords/english 11573 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.RestManager Registered ManagedResource impl org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory$SynonymManager for path /schema/analysis/synonyms/english 11573 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.RestManager Added observer of type org.apache.solr.rest.schema.analysis.ManagedStopFilterFactory to existing ManagedResource /schema/analysis/stopwords/english 11573 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.RestManager Added observer of type org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory to existing ManagedResource /schema/analysis/synonyms/english 11579 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.s.IndexSchema Loaded schema example/1.6 with uniqueid field item_no 11579 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.RestManager Added observer of type org.apache.solr.rest.schema.analysis.ManagedStopFilterFactory to existing ManagedResource /schema/analysis/stopwords/english 11579 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.RestManager Added observer of type org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory to existing ManagedResource /schema/analysis/synonyms/english 11579 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.RestManager Added observer of type org.apache.solr.rest.schema.analysis.ManagedStopFilterFactory to existing ManagedResource /schema/analysis/stopwords/english 11579 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.RestManager Added observer of type org.apache.solr.rest.schema.analysis.ManagedSynonymGraphFilterFactory to existing ManagedResource /schema/analysis/synonyms/english 11625 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.c.CoreContainer Creating SolrCore 'new_core' using configuration from instancedir E:\demo\lucene-solr\solr\server\solr, trusted=true 11685 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.c.SolrCore solr.RecoveryStrategy.Builder 11691 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.c.SolrCore [[new_core] ] Opening new SolrCore at [E:\demo\lucene-solr\solr\server\solr], dataDir=[E:\demo\lucene-solr\solr\server\solr\data\] 11847 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.XSLTResponseWriter xsltCacheLifetimeSeconds=5 21333 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.UpdateHandler Using UpdateLog implementation: org.apache.solr.update.UpdateLog 21333 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.UpdateLog Initializing UpdateLog: dataDir= defaultSyncLevel=FLUSH numRecordsToKeep=100 maxNumLogsToKeep=10 numVersionBuckets=65536 21356 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.CommitTracker Hard AutoCommit: if uncommited for 15000ms; 21357 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.CommitTracker Soft AutoCommit: disabled 21474 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [IFD][coreLoadExecutor-6-thread-1]: init: current segments file is "segments_3"; deletionPolicy=org.apache.solr.core.IndexDeletionPolicyWrapper@2801c812 21474 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [IFD][coreLoadExecutor-6-thread-1]: init: load commit "segments_3" 21479 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [IFD][coreLoadExecutor-6-thread-1]: now checkpoint "_0(7.2.2):C1 _1(7.2.2):C1" [2 segments ; isCommit = false] 21479 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [IFD][coreLoadExecutor-6-thread-1]: 0 msec to checkpoint 21479 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [IW][coreLoadExecutor-6-thread-1]: init: create=false 21479 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [IW][coreLoadExecutor-6-thread-1]: dir=NRTCachingDirectory(MMapDirectory@E:\demo\lucene-solr\solr\server\solr\data\index lockFactory=org.apache.lucene.store.NativeFSLockFactory@340158a7; maxCacheMB=48.0 maxMergeSizeMB=4.0) index=_0(7.2.2):C1 _1(7.2.2):C1 version=7.2.2 analyzer=org.apache.solr.update.SolrIndexConfig$DelayedSchemaAnalyzer ramBufferSizeMB=100.0 maxBufferedDocs=-1 mergedSegmentWarmer=null delPolicy=org.apache.solr.core.IndexDeletionPolicyWrapper commit=null openMode=APPEND similarity=org.apache.lucene.search.similarities.DavidSimilarity mergeScheduler=ConcurrentMergeScheduler: maxThreadCount=-1, maxMergeCount=-1, ioThrottle=true codec=Lucene70 infoStream=org.apache.solr.update.LoggingInfoStream mergePolicy=[TieredMergePolicy: maxMergeAtOnce=10, maxMergeAtOnceExplicit=30, maxMergedSegmentMB=5120.0, floorSegmentMB=2.0, forceMergeDeletesPctAllowed=10.0, segmentsPerTier=10.0, maxCFSSegmentSizeMB=8.796093022207999E12, noCFSRatio=0.1 indexerThreadPool=org.apache.lucene.index.DocumentsWriterPerThreadPool@1266476d readerPooling=true perThreadHardLimitMB=1945 useCompoundFile=false commitOnClose=true indexSort=null writer=org.apache.solr.update.SolrIndexWriter@35039ae8 21480 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [IW][coreLoadExecutor-6-thread-1]: MMapDirectory.UNMAP_SUPPORTED=true 21481 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [IW][coreLoadExecutor-6-thread-1]: flush at getReader 21481 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [DW][coreLoadExecutor-6-thread-1]: startFullFlush 21482 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [IW][coreLoadExecutor-6-thread-1]: now apply all deletes for all segments buffered updates bytesUsed=0 reader pool bytesUsed=0 21482 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [BD][coreLoadExecutor-6-thread-1]: waitApply: no deletes to apply 21550 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [IW][coreLoadExecutor-6-thread-1]: incRefDeleter for NRT reader version=10 segments=_0(7.2.2):C1 _1(7.2.2):C1 21550 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [IW][coreLoadExecutor-6-thread-1]: return reader version=10 reader=StandardDirectoryReader(segments_3:10:nrt _0(7.2.2):C1 _1(7.2.2):C1) 21550 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [DW][coreLoadExecutor-6-thread-1]: coreLoadExecutor-6-thread-1 finishFullFlush success=true 21551 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.u.LoggingInfoStream [IW][coreLoadExecutor-6-thread-1]: getReader took 69 msec 21565 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.s.SolrIndexSearcher Opening [Searcher@6e7addcb[new_core] main] 21578 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.ManagedResourceStorage File-based storage initialized to use dir: E:\demo\lucene-solr\solr\server\solr\conf 21580 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.ManagedResourceStorage Loaded LinkedHashMap at path _rest_managed.json using file:dir=E:\demo\lucene-solr\solr\server\solr\conf 21580 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.ManagedResource Loaded initArgs {} for /rest/managed 21581 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.ManagedResourceStorage Loaded LinkedHashMap at path _schema_analysis_stopwords_english.json using file:dir=E:\demo\lucene-solr\solr\server\solr\conf 21581 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.ManagedResource Loaded initArgs {ignoreCase=true} for /schema/analysis/stopwords/english 21581 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.s.a.ManagedWordSetResource Loaded 35 words for /schema/analysis/stopwords/english 21582 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.ManagedResource Notified 4 observers of /schema/analysis/stopwords/english 21582 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.ManagedResourceStorage Loaded LinkedHashMap at path _schema_analysis_synonyms_english.json using file:dir=E:\demo\lucene-solr\solr\server\solr\conf 21582 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.ManagedResource Loaded initArgs {ignoreCase=true,format=solr} for /schema/analysis/synonyms/english 21583 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.s.a.ManagedSynonymGraphFilterFactory Loaded 3 synonym mappings for /schema/analysis/synonyms/english 21585 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.r.ManagedResource Notified 4 observers of /schema/analysis/synonyms/english 21600 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.h.c.SpellCheckComponent Initializing spell checkers 21610 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.s.DirectSolrSpellChecker init: {name=default,field=text,classname=solr.DirectSolrSpellChecker,distanceMeasure=internal,accuracy=0.5,maxEdits=2,minPrefix=1,maxInspections=5,minQueryLength=4,maxQueryFrequency=0.01} 21621 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.h.c.SuggestComponent Initializing SuggestComponent 21624 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.s.s.SolrSuggester init: {name=mySuggester,lookupImpl=FuzzyLookupFactory,dictionaryImpl=DocumentDictionaryFactory,field=cat,weightField=price,suggestAnalyzerFieldType=string,buildOnStartup=false} 21649 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.s.s.SolrSuggester Dictionary loaded with params: {name=mySuggester,lookupImpl=FuzzyLookupFactory,dictionaryImpl=DocumentDictionaryFactory,field=cat,weightField=price,suggestAnalyzerFieldType=string,buildOnStartup=false} 21651 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.h.c.QueryElevationComponent Loading QueryElevation from: E:\demo\lucene-solr\solr\server\solr\conf\elevate.xml 21667 INFO (coreLoadExecutor-6-thread-1) [ x:new_core] o.a.s.h.ReplicationHandler Commits will be reserved for 10000ms. 21786 INFO (searcherExecutor-7-thread-1-processing-x:new_core) [ x:new_core] o.a.s.c.QuerySenderListener QuerySenderListener sending requests to Searcher@6e7addcb[new_core] main{ExitableDirectoryReader(UninvertingDirectoryReader(Uninverting(_0(7.2.2):C1) Uninverting(_1(7.2.2):C1)))} 21870 INFO (searcherExecutor-7-thread-1-processing-x:new_core) [ x:new_core] o.a.s.c.S.Request [new_core] webapp=null path=null params={q=static+firstSearcher+warming+in+solrconfig.xml&distrib=false&event=firstSearcher} hits=0 status=0 QTime=81 21871 INFO (searcherExecutor-7-thread-1-processing-x:new_core) [ x:new_core] o.a.s.c.QuerySenderListener QuerySenderListener done. 21871 INFO (searcherExecutor-7-thread-1-processing-x:new_core) [ x:new_core] o.a.s.h.c.SpellCheckComponent Loading spell index for spellchecker: default 21871 INFO (searcherExecutor-7-thread-1-processing-x:new_core) [ x:new_core] o.a.s.h.c.SpellCheckComponent Loading spell index for spellchecker: wordbreak 21875 INFO (searcherExecutor-7-thread-1-processing-x:new_core) [ x:new_core] o.a.s.c.SolrCore [new_core] Registered new searcher Searcher@6e7addcb[new_core] main{ExitableDirectoryReader(UninvertingDirectoryReader(Uninverting(_0(7.2.2):C1) Uninverting(_1(7.2.2):C1)))}
参考资料:
【1】http://www.cnblogs.com/mmaa/p/5789860.html
微信公众号: 架构师日常笔记 欢迎关注!