我是 solr 的新手。我想在分析阶段将同义词或停用词从 DB 而不是 txt 文件加载到 solr。我怎样才能在 solr 6 中实现它。
我尝试移植 Solr-JDBC(https://github.com/shopping24/solr-jdbc),但由于它使用的是 tomcat,所以我没有成功。这可以与 solr 6 和码头一起使用吗?
我是 solr 的新手。我想在分析阶段将同义词或停用词从 DB 而不是 txt 文件加载到 solr。我怎样才能在 solr 6 中实现它。
我尝试移植 Solr-JDBC(https://github.com/shopping24/solr-jdbc),但由于它使用的是 tomcat,所以我没有成功。这可以与 solr 6 和码头一起使用吗?
是的,您可以将 Solr-JDBC 与 Jetty 一起使用,只需为其配置数据库连接。从命名web.xml中的数据库连接器开始:
<resource-ref>
<description>My Stopword Datasource</description>
<res-ref-name>jdbc/stopwords</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
然后,继续进行jetty.xml文件、WEB-INF/jetty-env.xml文件或上下文 XML 文件中的实际配置:
<New id="stopwords" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg></Arg>
<Arg>jdbc/stopwords</Arg>
<Arg>
<New class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
<Set name="Url">jdbc:mysql://localhost:3306/databasename</Set>
<Set name="User">user</Set>
<Set name="Password">pass</Set>
</New>
</Arg>
</New>
此时,您可以像使用 Tomcat 一样使用 Solr-JDBC:
<filter class="com.s24.search.solr.analysis.jdbc.JdbcStopFilterFactory"
sql="SELECT stopword FROM stopwords"
jndiName="jdbc/stopwords"/>