Yii2提供了弹性搜索扩展和弹性搜索ActiveRecord类。
这种弹性搜索扩展通过查询弹性搜索的_source场来读取弹性数据,这是不理想的。
如果弹性字段设置为"store" :true,则可以更好地直接从存储字段读取数据,而不是查询_source字段,这将导致弹性对该字段的隐式解析。
是否有一种方法可以配置或使用Yii2 / elaticsearch扩展来从存储的字段中获取数据?我在这里没有找到任何选择或者别的什么:https://www.yiiframework.com/extension/yiisoft/yii2-elasticsearch/doc/api/2.1/yii-elasticsearch-activerecord
发布于 2022-01-24 09:12:08
如果其他人有同样的问题,回答我自己的问题:
如果您喜欢在存储字段上使用Yii2中的active record运行查询,如果您希望从存储的条目中获取数据,而不是解析_source字段,则可以使用active record类中的->storedFields() -函数指定存储字段。
使用活动记录看起来如下所示:
/* new instance from User model,
which is based on `\yii\elasticsearch\ActiveRecord`*/
$user = new User();
/* '*' for all fileds instead of an array of fieldnames */
$query = $user -> find()
-> query('<your query object')
-> storedFields(['*']);https://stackoverflow.com/questions/70754607
复制相似问题