我正在尝试使用Lucene 6中的有效负载,但我遇到了麻烦。我们的想法是索引有效负载并在CustomScoreQuery中使用它们来检查查询字词的有效负载是否与文档术语的有效负载匹配。 这是我的有效载荷过滤器:
//WRITE 1
storageref.putfile(image1).addOnCompleteListener(new OnCompleteListener{
//get link of this write and do WRITE 2
//WRITE 2
storage ref.putfile(image2).addOnCompleteListener(new OnCompleteListener{
//get the link of this write and do WRITE 3
// WRITE 3
Map links=new HashMap();
links.put("image1", link1);
links.put("image2", link2);
databaseref.child("images").setValue(links).addOnCompleteListener(new OnCompleteListener{
//show a message
});
});
});
似乎是在添加有效负载,但是当我尝试访问CustomScoreQuery中的有效负载时,它只是保持返回null。
@Override
public final boolean incrementToken() throws IOException {
if (!this.input.incrementToken()) {
return false;
}
// get the current token
final char[] token = Arrays.copyOfRange(this.termAtt.buffer(), 0, this.termAtt.length());
String stoken = String.valueOf(token);
String[] parts = stoken.split(Constants.PAYLOAD_DELIMITER);
if (parts.length > 1 && parts.length == 2){
termAtt.setLength(parts[0].length());
// the rest is the payload
BytesRef br = new BytesRef(parts[1]);
System.out.println(br);
payloadAtt.setPayload(br);
}else if (parts.length > 1){
// skip
}else{
// no payload here
payloadAtt.setPayload(null);
}
return true;
}
对于我的两个测试,它一直声明负载为空。有什么建议或帮助吗?