public class MyValueSourceParser extends ValueSourceParser {
public MyValueSourceParser(){ super(); System.out.println("========初始化MyValueSourceParser实例=========="); } @Override public ValueSource parse(FunctionQParser fp) throws ParseException { System.out.println("========开始执行MyValueSourceParser的parse方法=========="); String field = fp.parseId(); //我们这里是要根据域field的值从而可以关联一个得分。我这个Field是字符串形式的。 //StrKeywordsFieldSource 是继承StrFieldSource,solr有什么类型的Filed有相应的ValueSource。 StrKeywordsFieldSource stringFieldSource = new StrKeywordsFieldSource(field); return stringFieldSource;
}
}
//StrKeywordsFieldSource类的源码如下: public class StrKeywordsFieldSource extends StrFieldSource {
private static final long serialVersionUID = 1L; //必须的 public StrKeywordsFieldSource(String field) { super(field); // TODO Auto-generated constructor stub }