首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用`_source`的弹性搜索中使用存储字段而不是yii2

在使用`_source`的弹性搜索中使用存储字段而不是yii2
EN

Stack Overflow用户
提问于 2022-01-18 11:09:46
回答 1查看 104关注 0票数 0

Yii2提供了弹性搜索扩展和弹性搜索ActiveRecord类。

这种弹性搜索扩展通过查询弹性搜索的_source场来读取弹性数据,这是不理想的。

如果弹性字段设置为"store" :true,则可以更好地直接从存储字段读取数据,而不是查询_source字段,这将导致弹性对该字段的隐式解析。

是否有一种方法可以配置或使用Yii2 / elaticsearch扩展来从存储的字段中获取数据?我在这里没有找到任何选择或者别的什么:https://www.yiiframework.com/extension/yiisoft/yii2-elasticsearch/doc/api/2.1/yii-elasticsearch-activerecord

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-24 09:12:08

如果其他人有同样的问题,回答我自己的问题:

如果您喜欢在存储字段上使用Yii2中的active record运行查询,如果您希望从存储的条目中获取数据,而不是解析_source字段,则可以使用active record类中的->storedFields() -函数指定存储字段。

使用活动记录看起来如下所示:

代码语言:javascript
复制
/* 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(['*']);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70754607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档