【问题标题】:Custom similarity class solr not working自定义相似性类 solr 不起作用
【发布时间】:2015-01-12 19:04:15
【问题描述】:

我创建了这样的自定义相似性类:

package org.apache.lucene.search.similarities;
import org.apache.lucene.index.FieldInvertState;
import org.apache.lucene.search.similarities.DefaultSimilarity;

public class MyNewSimilarityClass extends DefaultSimilarity {

@Override
public float coord(int overlap, int maxOverlap) {
    return 1.0f;
}

@Override
public float idf(long docFreq, long numDocs) {
    return 1.0f;
}

@Override
public float lengthNorm(FieldInvertState arg0) {
    return 1.0f;
}

@Override
public float tf(float freq) {
    return 1.0f;
}

}

将其导出为 jar 文件并将其上传到我在 solr 中的 /dist 文件夹中。 在我的 solrconfig 中,我添加了以下行:

<lib dir="../../../dist/" regex="similarityJar.*\.jar" />

在我的 schema.xml 中,我添加了以下行:

<similarity class="org.apache.lucene.search.similarities.MyNewSimilarityClass"> </similarity>

什么时候启动我的 solr 实例,我可以看到 jar 已添加到类加载器中:

3170 [coreLoadExecutor-5-thread-1] INFO  org.apache.solr.core.SolrResourceLoader  – Adding 'file:/var/www/apache-solr/dist/similarityJarNew.jar' to classloader

服务器启动但卡在:

3988 [coreLoadExecutor-5-thread-1] INFO  org.apache.solr.schema.IndexSchema  – Reading Solr     Schema from /var/www/apache-solr/productie/solr/collection1/conf/sc                                hema.xml
4025 [coreLoadExecutor-5-thread-1] INFO  org.apache.solr.schema.IndexSchema  – [collection1] Schema name=example
4174 [main] INFO  org.apache.solr.servlet.SolrDispatchFilter  – user.dir=/var/www/apache-solr/productie
4174 [main] INFO  org.apache.solr.servlet.SolrDispatchFilter  – SolrDispatchFilter.init() done
4217 [main] INFO  org.eclipse.jetty.server.AbstractConnector  – Started SocketConnector@0.0.0.0:8983

在此之后核心不会加载。

当我注释掉我的 schema.xml 中引用相似性类的行并在后台启动服务器时,一切正常并加载了核心。现在,当我取消注释 schema.xml 中的行并在管理面板中重新加载核心时,一切仍然有效,但新的相似性类似乎不起作用。

分数和结果顺序还是和以前一样... 任何帮助将不胜感激!

我在 CentOS 服务器上使用 solr 4.10.2。

【问题讨论】:

标签: java solr lucene


【解决方案1】:

原来问题是我本地机器上的 java 版本!

我使用 Java 1.8 构建类,服务器版本是 1.7。取消注释指向相似性类的行后重新加载 schema.xml 会在指出问题的日志中弹出错误。

【讨论】:

    猜你喜欢
    • 2017-12-22
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 2015-09-03
    • 2022-01-08
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多