elasticsearch - ElasticSearch:如果我只想返回一些字段,哪种方式更好?
问题描述
我只想从elasticsearch中的索引书中返回一些字段(例如: price和page ) ,以下两种方法哪个更好?欢迎任何意见。
第一种方式:
searchSourceBuilder.fetchSource(false);
searchSourceBuilder.docValueField("price");
searchSourceBuilder.docValueField("page");
第二种方式:
String[] includesField = {"price","page"};
searchSourceBuilder.fetchSource(includesField,null);
解决方案
第一个选项将为您提供字段的文档值,即已分析和索引的实际标记。
第二个选项将返回您在源文档中看到的确切值。
所以这两种方法都是正确的。对于数值,任何一种方法都有效。对于文本值,它仅取决于您实际想要看到的内容。
推荐阅读
- javascript - NPM 注册 API,通过 JSON 响应查看包的内部结构和文件
- java - 查看我们从 jar 文件导入的类中的内容
- python - 在字符串中找到特定单词后查找单词
- azure - 从 Azure Active Directory 摄取超过 30k 的用户详细信息
- sql - 如何在一个 oracle 表中查找多对
- ansible - 无法通过 ansible playbook 连接到远程服务器
- laravel-5 - 我已经通过 post 方法将图像文件存储在管理员中,但是当尝试为 pdf/word 放置相同的代码时,它不起作用
- jquery - jquery数据表每一行的下拉菜单
- mosquitto - MosquittoClient 的订阅者在间隔时间段内不显示单个订阅的消息
- javascript - 访问 Braintree 数组内部的问题