我是solr的新手,我想添加一個帶JdbcSynonymFilter和JdbcStopFilter的字段類型來solr模式。我加入我的相同的數據源如本鏈接指令:Loading stopwords from Postgresql to Solr6無法初始化類JdbcSynonymFilterFactory
然後我配置管理型模式與以下代碼:
<fieldType name="new_string" class="solr.TextField">
<analyzer>
<tokenizer class="solr.PatternTokenizerFactory" pattern="[\s]+" />
<filter class="com.s24.search.solr.analysis.jdbc.JdbcSynonymFilterFactory"
sql="SELECT concat(term, '=>', use) as line FROM thesaurus;"
dataSource="jdbc/dsTest" ignoreCase="false" expand="true" />
<filter class="com.s24.search.solr.analysis.jdbc.JdbcStopFilterFactory"
sql="SELECT stopword FROM stopwords"
dataSource="jdbc/dsTest"/>
</analyzer>
</fieldType>
我添加的solr-JDBC到dist文件夾,PostgreSQL的驅動器,BeanUtils的和dbutils到contrib/jdbc/lib文件夾。然後,我包括庫solrconfig.xml中data_driven_schema_configs的:
<lib dir="${solr.install.dir:../../../..}/contrib/jdbc/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-jdbc-\d.*\.jar" />
我遇到過,當我試圖啓動SolrCloud下面的錯誤。
"Could not initialize class com.s24.search.solr.analysis.jdbc.JdbcSynonymFilterFactory,trace=java.lang.NoClassDefFoundError: Could not initialize class com.s24.search.solr.analysis.jdbc.JdbcSynonymFilterFactory"
我感謝您的幫助@freedev –