Sorry, I have solved the problem by coping the necessary libs from "solr/contrib/analysis-extras" to"solr/server/solr-webapp/webapp/WEB-INF/lib" . I didn't realise that solr-webapp is the true "solr-home"
thanks 2015-06-27 22:59 GMT+08:00 Ming Liang <upz...@gmail.com>: > I am using Solr-5.2.1 > I tried to add a field type named "text_chinese" to the schema.xml of the > given guide example "techproducts": > > > <fieldType name="text_chinese" class="solr.TextField" > positionIncrementGap="100"> > <analyzer> > <tokenizer class="solr.HMMChineseTokenizerFactory"/> > <filter class="solr.StopFilterFactory" > words="org/apache/lucene/analysis/cn/smart/stopwords.txt"/> > <filter class="solr.PorterStemFilterFactory"/> > </analyzer> > </fieldType> > > when I start "techproducts" with command "bin/solr -e techproducts" > > I got error: > > Waiting to see Solr listening on port 8983 [/] > > Started Solr server on port 8983 (pid=7232). Happy searching! > > Setup new core instance directory: > > ........./solr-5.2.1/example/techproducts/solr/techproducts > > Creating new core 'techproducts' using command: > > > http://localhost:8983/solr/admin/cores?action=CREATE&name=techproducts&instanceDir=techproducts > > *Failed to create core 'techproducts' due to: Error CREATEing SolrCore > 'techproducts': Unable to create core [techproducts] Caused by: > solr.HMMChineseTokenizerFactory* > > and I found the following logs in log file: > solr-5.2.1/example/techproducts/logs/solr.log > > Caused by: java.lang.ClassNotFoundException: > solr.HMMChineseTokenizerFactory > > at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > > at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:810) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > > at java.lang.Class.forName0(Native Method) > > at java.lang.Class.forName(Class.java:348) > > at > org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:475) > > ... 44 more > I have tried to change > > <tokenizer class="solr.HMMChineseTokenizerFactory"/> > > to > > <tokenizer > class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/> > > because I found a class named HMMChineseTokenizerFactory in package > org.apache.lucene.analysis.cn.smart > but I the class is still not found: > > Caused by: java.lang.ClassNotFoundException: > org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory > at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:810) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:348) > at > org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:475) > ... 44 more > > thanks > > -- 生活如此美好