这个插件实现的功能如下
定义一个“feature"的字段,而该字段的打分规则是由我们自己制定。即,如果查询的字段长度和他一样打99.9分,比它小则打66.6分,大则是33.3分。功能本身没啥意义,但将打分函数修改后,就可以实现图片,视频,音频等数据的比对。
代码如下
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.lucene.search.Scorer;
import org.elasticsearch.common.Nullable;
import org.elasticsearch.common.xcontent.support.XContentMapValues;
import org.elasticsearch.index.fielddata.ScriptDocValues;
import org.elasticsearch.plugins.ActionPlugin;
import org.elasticsearch.plugins.Plugin;
import org.elasticsearch.plugins.ScriptPlugin;
import org.elasticsearch.rest.RestHandler;
import org.elasticsearch.script.AbstractDoubleSearchScript;
import org.elasticsearch.script.ExecutableScript;
import org.elasticsearch.script.NativeScriptFactory;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.Map;
public class MyFirstPlugin extends Plugin implem