Brilliant, thanks Timothy! Changing the solrconfig.xml lookupImpl (not className) to the org.apache.solr.spelling.suggest.tst.TSTLookupFactory fixed this issue for me.
Thanks, Trevor -----Original Message----- From: Tim Potter [mailto:tim.pot...@lucidworks.com] Sent: Monday, December 16, 2013 12:32 PM To: solr-user@lucene.apache.org Subject: RE: SolrCloud Suggester java ClassNotFoundException: org.apache.solr.suggest.tst.TSTLookup There have been some recent refactorings in this area of the code. The following class name should work: org.apache.solr.spelling.suggest.tst.TSTLookupFactory Cheers, Timothy Potter Sr. Software Engineer, LucidWorks www.lucidworks.com ________________________________________ From: Trevor Handley <hand...@civicplus.com> Sent: Monday, December 16, 2013 11:27 AM To: solr-user@lucene.apache.org Subject: RE: SolrCloud Suggester java ClassNotFoundException: org.apache.solr.suggest.tst.TSTLookup Also, I'm aware that there's two typos in my schema.xml attached. I forgot to remove the linebreak \ character from the two splitOnCaseChange sections. This typo does not exist in the official schema.xml that solr is using. -----Original Message----- From: Trevor Handley [mailto:hand...@civicplus.com] Sent: Monday, December 16, 2013 12:24 PM To: solr-user@lucene.apache.org Subject: SolrCloud Suggester java ClassNotFoundException: org.apache.solr.suggest.tst.TSTLookup Hello, I'm working with SolrCloud and trying to integrate the Suggester functionality http://wiki.apache.org/solr/Suggester. I've configured the requestHandler and searchComponent sections of solrconfig.xml, and added a new fieldtype and field to schema.xml. These documents are attached to this message. Background: This is a change I'm trying to make to a currently working/stable version of Solr 4.6 that has nearly 1.5 million unique documents in the index. The whole architecture is a single SolrCloud collection with 2 core shards that are replicated for a total of 4 cores. The shard1_slice1 core and shard2_slice2 core exist on one physical server, and shard1_slice2 core and shard2_slice1 core exist on a separate physical server. When I try to restart solr with suggester enabled then I get java error "java.lang.ClassNotFoundException: org.apache.solr.suggest.tst.TSTLookup" I tried a few different suggester classes but they all fail to load with the same message here. I verified that my .jar files do contain that class and are in the correct lib directory using a script that searches .jar files for a class name: [solr@Searchnode-001 ~]$ ./findclass.sh /opt/solrcloud/lib/ TSTLookup /opt/solrcloud/lib/solr-core-4.6.0.jar:org/apache/solr/spelling/suggest/tst/TSTLookupFactory.class /opt/solrcloud/lib/lucene-suggest-4.6-SNAPSHOT.jar:org/apache/lucene/search/suggest/tst/TSTLookup.class And here's a listing of the jar files in my lib directory: activation-1.1.jar AlchemyAPIAnnotator-2.3.1.jar apache-mime4j-core-0.7.2.jar apache-mime4j-dom-0.7.2.jar attributes-binder-1.2.0.jar bcmail-jdk15-1.45.jar bcprov-jdk15-1.45.jar boilerpipe-1.1.0.jar carrot2-mini-3.8.0.jar commons-beanutils-1.7.0.jar commons-collections-3.2.1.jar commons-compress-1.4.1.jar commons-digester-2.0.jar dom4j-1.6.1.jar fontbox-1.8.1.jar hppc-0.5.2.jar icu4j-49.1.jar isoparser-1.0-RC-1.jar jackson-core-asl-1.7.4.jar jackson-mapper-asl-1.7.4.jar jdom-1.0.jar jempbox-1.8.1.jar jetty-continuation-8.1.10.v20130312.jar jetty-deploy-8.1.10.v20130312.jar jetty-http-8.1.10.v20130312.jar jetty-io-8.1.10.v20130312.jar jetty-jmx-8.1.10.v20130312.jar jetty-security-8.1.10.v20130312.jar jetty-server-8.1.10.v20130312.jar jetty-servlet-8.1.10.v20130312.jar jetty-util-8.1.10.v20130312.jar jetty-webapp-8.1.10.v20130312.jar jetty-xml-8.1.10.v20130312.jar jsonic-1.2.7.jar juniversalchardet-1.0.3.jar langdetect-1.1-20120112.jar lucene-analyzers-common-4.6-SNAPSHOT.jar lucene-analyzers-kuromoji-4.6-SNAPSHOT.jar lucene-analyzers-phonetic-4.6-SNAPSHOT.jar lucene-codecs-4.6-SNAPSHOT.jar lucene-core-4.6-SNAPSHOT.jar lucene-grouping-4.6-SNAPSHOT.jar lucene-highlighter-4.6-SNAPSHOT.jar lucene-join-4.6-SNAPSHOT.jar lucene-memory-4.6-SNAPSHOT.jar lucene-misc-4.6-SNAPSHOT.jar lucene-queries-4.6-SNAPSHOT.jar lucene-queryparser-4.6-SNAPSHOT.jar lucene-spatial-4.6-SNAPSHOT.jar lucene-suggest-4.6-SNAPSHOT.jar mahout-collections-1.0.jar mahout-math-0.6.jar mail-1.4.1.jar metadata-extractor-2.6.2.jar morfologik-fsa-1.7.1.jar morfologik-polish-1.7.1.jar morfologik-stemming-1.7.1.jar netcdf-4.2-min.jar OpenCalaisAnnotator-2.3.1.jar pdfbox-1.8.1.jar poi-3.9.jar poi-ooxml-3.9.jar poi-ooxml-schemas-3.9.jar poi-scratchpad-3.9.jar rome-0.9.jar servlet-api-3.0.jar simple-xml-2.7.jar solr-analysis-extras-4.6.0.jar solr-cell-4.6.0.jar solr-clustering-4.6.0.jar solr-core-4.6.0.jar solr-dataimporthandler-4.6.0.jar solr-dataimporthandler-extras-4.6.0.jar solr-langid-4.6.0.jar solr-solrj-4.6.0.jar solr-test-framework-4.6.0.jar solr-uima-4.6.0.jar solr-velocity-4.6.0.jar Tagger-2.3.1.jar tagsoup-1.2.1.jar tika-core-1.4.jar tika-parsers-1.4.jar uimaj-core-2.3.1.jar velocity-1.7.jar velocity-tools-2.0.jar vorbis-java-core-0.1.jar vorbis-java-tika-0.1.jar WhitespaceTokenizer-2.3.1.jar xercesImpl-2.9.1.jar xmlbeans-2.3.0.jar xz-1.0.jar This is how I start solr with jetty: java -Dbootstrap_confdir=/opt/solrcloud/zkBootstrapConfigs/ -Dcollection.configName=CP_Search -DzkHost=zookeeper-001:2181,zookeeper-002:2181,zookeeper-003:2181 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=3000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -server -Xms3g -Xmx6g -Xmn2g -XX:ParallelGCThreads=20 -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -Djetty.port=8501 -Djetty.home=/opt/solrcloud/ -Dsolr.solr.home=/opt/solrcloud/ -DnumShards=2 -jar start.jar I have attached the schema.xml, solrconfig.xml, and the full text of the java exception. Can anyone help me figure this out? Thanks, Trevor