小编Pab*_*lli的帖子

Elasticsearch从搜索的响应正文中删除默认字段

我正在做一个返回70k文件的查询(我需要所有这些,我当前正在使用扫描和滚动)

会发生什么是响应非常大(2 MB,我们已将其从6 MB减少).我们已经过滤了我们需要的字段,并且由于查询仅从API调用,因此我们减少了属性的名称.

我能看到的是,数组"hits"中的每个文档都有以下默认字段,我真的不需要它们:

  • _index(我们只在一个索引上请求)
  • _type(我们只在一种类型上请求)
  • _id(我们alredy在一个字段上有这个)
  • _score(我们没得分)

有没有办法删除它们,所以我可以有以下结构:

"hits" : [
{
    "_source": {
        ...
    }
},
{
    "_source": {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

]

谢谢阅读!我将非常感谢你的帮助!

compression search elasticsearch

3
推荐指数
1
解决办法
2633
查看次数

具有业务层和DAL的WPF架构

我在WPF中开始一个新的应用程序,我希望它有一个良好的架构,以便它可以维护.我正在使用实体框架,到目前为止我计划的是.

•查看图层:一个项目(启动),包含启动视图和主菜单.每种类型的视图都有不同的项目,例如,如果我有与Books相关的视图,那么我将有一个名为BooksView的项目,其中包含所有视图.

•业务层:每种业务类的一个项目,例如BusinessBooks.每个人都有一个具有特定操作的存储库和任何帮助器,如果需要可以进行计算.

•数据访问层:它包含一个名为Entity Framework的文件夹,其中包含DBContext和T4生成的类以及一个名为ContextCreator的类,其中包含以下代码:

public class ContextCreator : IDisposable
{
    private MesaOperativaDB context;

    public ContextCreator()
    {
        context = new MesaOperativaDB();
    }

    public MesaOperativaDB getContext()
    {
        return context;
    }

    public void Dispose()
    {
        context.Dispose();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,视图将使用所需的业务层的任何项目的静态存储库,并且此存储库将使用上面的类来获取DBContext并使用它如下所示:

    public static List<Novedades> GetNovedades()
    {
        using (ContextCreator db = new ContextCreator())
        {
            IQueryable<Novedades> novedades = db.getContext().Set<Novedades>().AsQueryable();
            return novedades.ToList();
        }
    }
Run Code Online (Sandbox Code Playgroud)

这种做法有什么好处吗?提前谢谢你们.

c# architecture wpf entity-framework data-access-layer

1
推荐指数
1
解决办法
4207
查看次数