1
我創建定製相似性類別是這樣的:自相似性類別的Solr不工作
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的情況下,我可以看到,罐子被添加到類裝載器:
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 [email protected]:8983
核心在此之後不會加載。
當我註釋掉我schema.xml中是指相似性類別的線,然後在後臺的一切服務器會罰款和核心加載。現在,當我取消註釋schema.xml中的行並重新加載管理面板中的核心時,一切仍然有效,但新的相似類似乎不起作用。
的分數和結果令仍然和以前一樣...... 任何幫助,將不勝感激!
我使用CentOS的服務器上Solr的4.10.2。
對不起,請你告訴我創造這個包的正確途徑。我對此很陌生。這裏是畝問題:https://stackoverflow.com/questions/45144617/implementing-custom-solr-similarity – AOY