fix #1741 enable ltr
This commit is contained in:
parent
f0e2046cc5
commit
5e7a340f96
6 changed files with 35 additions and 25 deletions
|
@ -75,16 +75,14 @@
|
|||
<param name="plugin.zip.version" value="6.3.1" />
|
||||
</antcall>
|
||||
<!-- learning-to-rank -->
|
||||
<!--
|
||||
<antcall target="install.plugin">
|
||||
<param name="repo.url" value="${maven.snapshot.repo.url}" />
|
||||
<param name="repo.url" value="${maven.release.repo.url}" />
|
||||
<param name="plugin.groupId" value="org/codelibs" />
|
||||
<param name="plugin.name.prefix" value="elasticsearch-" />
|
||||
<param name="plugin.name" value="learning-to-rank" />
|
||||
<param name="plugin.version" value="6.3.0-SNAPSHOT" />
|
||||
<param name="plugin.zip.version" value="6.3.0-20180627.070011-1" />
|
||||
<param name="plugin.version" value="6.3.0" />
|
||||
<param name="plugin.zip.version" value="6.3.0" />
|
||||
</antcall>
|
||||
-->
|
||||
|
||||
<antcall target="remove.jars" />
|
||||
</target>
|
||||
|
|
|
@ -144,6 +144,10 @@ public class Constants extends CoreLibConstants {
|
|||
|
||||
public static final String PURGE_SUGGEST_SEARCH_LOG_DAY_PROPERTY = "purge.suggest.searchlog.day";
|
||||
|
||||
public static final String LTR_MODEL_NAME_PROPERTY = "ltr.model.name";
|
||||
|
||||
public static final String LTR_WINDOW_SIZE_PROPERTY = "ltr.window.size";
|
||||
|
||||
public static final String REQUEST_QUERIES = "fess.Queries";
|
||||
|
||||
public static final String HIGHLIGHT_QUERIES = "fess.HighlightQueries";
|
||||
|
|
|
@ -953,7 +953,7 @@ public class QueryHelper {
|
|||
}
|
||||
|
||||
public RescorerBuilder<?>[] getRescorers(final Map<String, Object> params) {
|
||||
return queryRescorerList.stream().map(r -> r.evaluate(params)).toArray(n -> new RescorerBuilder<?>[n]);
|
||||
return queryRescorerList.stream().map(r -> r.evaluate(params)).filter(b -> b != null).toArray(n -> new RescorerBuilder<?>[n]);
|
||||
}
|
||||
|
||||
public void addQueryRescorer(final QueryRescorer rescorer) {
|
||||
|
|
|
@ -628,6 +628,22 @@ public interface FessProp {
|
|||
+ ComponentUtil.getSystemHelper().getProductVersion() + "; +http://fess.codelibs.org/bot.html)");
|
||||
}
|
||||
|
||||
public default void setLtrModelName(final String value) {
|
||||
setSystemProperty(Constants.LTR_MODEL_NAME_PROPERTY, value);
|
||||
}
|
||||
|
||||
public default String getLtrModelName() {
|
||||
return getSystemProperty(Constants.LTR_MODEL_NAME_PROPERTY, StringUtil.EMPTY);
|
||||
}
|
||||
|
||||
public default void setLtrWindowSize(final int value) {
|
||||
setSystemPropertyAsInt(Constants.LTR_WINDOW_SIZE_PROPERTY, value);
|
||||
}
|
||||
|
||||
public default int getLtrWindowSize() {
|
||||
return getSystemPropertyAsInt(Constants.LTR_WINDOW_SIZE_PROPERTY, 100);
|
||||
}
|
||||
|
||||
//
|
||||
// fess_*.properties
|
||||
//
|
||||
|
|
|
@ -17,26 +17,23 @@ package org.codelibs.fess.score;
|
|||
|
||||
import java.util.Map;
|
||||
|
||||
import org.codelibs.core.lang.StringUtil;
|
||||
import org.codelibs.fess.es.query.StoredLtrQueryBuilder;
|
||||
import org.codelibs.fess.mylasta.direction.FessConfig;
|
||||
import org.codelibs.fess.util.ComponentUtil;
|
||||
import org.elasticsearch.search.rescore.QueryRescorerBuilder;
|
||||
import org.elasticsearch.search.rescore.RescorerBuilder;
|
||||
|
||||
public class LtrQueryRescorer implements QueryRescorer {
|
||||
|
||||
protected String modelName;
|
||||
|
||||
protected int windowSize = 100;
|
||||
|
||||
@Override
|
||||
public RescorerBuilder<?> evaluate(Map<String, Object> params) {
|
||||
return new QueryRescorerBuilder(new StoredLtrQueryBuilder().modelName(modelName).params(params)).windowSize(windowSize);
|
||||
}
|
||||
|
||||
public void setModelName(String modelName) {
|
||||
this.modelName = modelName;
|
||||
}
|
||||
|
||||
public void setWindowSize(int windowSize) {
|
||||
this.windowSize = windowSize;
|
||||
final FessConfig fessConfig = ComponentUtil.getFessConfig();
|
||||
final String modelName = fessConfig.getLtrModelName();
|
||||
if (StringUtil.isBlank(modelName)) {
|
||||
return null;
|
||||
}
|
||||
return new QueryRescorerBuilder(new StoredLtrQueryBuilder().modelName(modelName).params(params)).windowSize(fessConfig
|
||||
.getLtrWindowSize());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -110,16 +110,11 @@
|
|||
<postConstruct name="addHighlightField">
|
||||
<arg>"content"</arg>
|
||||
</postConstruct>
|
||||
<!--
|
||||
<postConstruct name="addQueryRescorer">
|
||||
<arg>
|
||||
<component class="org.codelibs.fess.score.LtrQueryRescorer">
|
||||
<property name="modelName">"model_6"</property>
|
||||
<property name="windowSize">100</property>
|
||||
</component>
|
||||
<component class="org.codelibs.fess.score.LtrQueryRescorer" />
|
||||
</arg>
|
||||
</postConstruct>
|
||||
-->
|
||||
</component>
|
||||
<component name="viewHelper" class="org.codelibs.fess.helper.ViewHelper">
|
||||
<postConstruct name="addFacetQueryView">
|
||||
|
|
Loading…
Add table
Reference in a new issue