0

我是 solr 的新手。我想在分析阶段将同义词或停用词从 DB 而不是 txt 文件加载到 solr。我怎样才能在 solr 6 中实现它。

我尝试移植 Solr-JDBC(https://github.com/shopping24/solr-jdbc),但由于它使用的是 tomcat,所以我没有成功。这可以与 solr 6 和码头一起使用吗?

4

1 回答 1

0

是的,您可以将 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"/>
于 2017-03-10T09:47:18.300 回答