bigdata - 无法在 Vespa 的 Document 中动态添加 Postion(纬度和经度)类型字段
问题描述
DocumentAccess access = DocumentAccess.createDefault();
DocumentType type = access.getDocumentTypeManager().getDocumentType("location");
DocumentId id = new DocumentId("id:location:location::4");
Document document = new Document(type, id);
document.setFieldValue(document.getDataType().getField("token"), "qwerty");
**document.setFieldValue(document.getDataType().getField("latlong"),"N28.6273348;E77.4327459");**
document.setFieldValue(document.getDataType().getField("data_timestamp"), "00:00:00 00:00:00");
添加 Position 类型的 latlong 字段时,我在搜索 API 中收到此错误。
"message": "Invalid search request [/search/?query=dcnQ8ar52Y]: Type class com.yahoo.document.datatypes.StringFieldValue can not specify a class com.yahoo.document.datatypes.Struct instance"
解决方案
采用com.yahoo.document.PositionDataType.fromString("N28.6273348;E77.4327459")
推荐阅读
- java - 没有 deleteKey 命令的 BKS 文件中的密钥丢失
- javascript - Toastr 未定义,javascript 错误
- json - 使用 Codable 问题解码 JSON。keyNotFound 错误信息
- c++ - 为什么标准不允许通过引用捕获不完整的异常类型?
- maven - 试图理解 OSGi 解析错误
- php - 如何在while循环中从mysqli_fetch_array()中检索当前和下一个元素?
- sql - Oracle:覆盖具有最长字符串的列中的值
- adobe - WCM IO 测试吊索映射
- java - 无法运行程序“query.sh”:CreateProcess error=2,系统找不到指定的文件
- python - Python boto3 从禁用备份的快照创建 rds 实例