小编Tho*_*mas的帖子

Elasticsarch C#Nest [5.x]属性

我对ElasticSearch中的字段属性有点挣扎,特别是因为5.x(我正在移植我们的代码)的事情发生了一些变化.

一个例子是:

    [Text(Index = false)]
    public string Id                        { get; set; }
    [Keyword]
    public string Tags                      { get; set; }
    [Text]
    public string Title                     { get; set; }
Run Code Online (Sandbox Code Playgroud)

我有很多这样的字段,但我正在尝试找出以下字段的最佳属性:

  • 要搜索的文本字段,不进行解释(例如字符串ID).我希望能够搜索确切的字符串,没有别的
  • 一个英文文本,我希望能够对单词和邻近区域进行全面搜索.
  • 一个枚举,其中值可以存储为有限的字符串列表,我需要将其用作搜索条件
  • 标签是一个单词列表但不形成句子; 我需要能够搜索这些内容
  • 要存储且不可搜索的数字
  • 要存储和搜索的日期
  • 要存储但不可搜索的日期

很多帖子都引用了ES的文档,但我真的没有看到属性文档的任何清晰度; 它似乎是与那些已经理解了系统的人一起写的.如果有人有像属性及其影响(存储,搜索,分析等)细分的excelsheet那将是太棒了

c# elasticsearch nest

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

什么http代码返回文件上传

我有一个休息 API 来上传多个文件。它为每个上传的文件返回一个 ID,并为每个文件返回一条消息,该消息告诉发生了哪个错误(如果有)。

我应该总是用 json 返回 200 吗?

如果所有文件都失败了怎么办?如果某些文件只失败了怎么办?

rest http

5
推荐指数
0
解决办法
2478
查看次数

调试器中的ASP.NET核心命令行参数

当我使用net 4.7代码调试一些asp.net时,我可以在调试器中指定一些参数,主函数是获取它们.

我意识到.net核心并没有发生这种情况; 我可以在调试器选项卡中的"应用程序参数"中放置我想要的任何内容,应用程序永远不会看到该数据.

这是另一个VS'界面不匹配.net核心的情况吗?还是我错过了一些明显的东西?


添加更多细节:

在此输入图像描述

在此输入图像描述

asp.net-core

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

如何在C#中的列表中合并日期范围

我有一个这样组织的日期列表:

(From, To)
(From, To)
...
(From, To)
Run Code Online (Sandbox Code Playgroud)

我正在尝试找到如何以有效方式合并范围(它必须相当快,因为​​它是实时合并财务数据流)。

日期不能重叠。

我在想的是:

按时间对所有内容进行排序,然后遍历对以查看Pair1.To == Pair2.From是否合并它们,但这意味着要进行多次迭代。

有没有更好的方法可以做到这一点,例如单次通过

这里有些例子

(2019-1-10, 2019-1-12)
(2019-3-10, 2019-3-14)
(2019-1-12, 2019-1-13)
Run Code Online (Sandbox Code Playgroud)

预期输出:

(2019-1-10, 2019-1-12) + (2019-1-12, 2019-1-13) -> (2019-1-10, 2019-1-13)
(2019-3-10, 2019-3-14) -> (2019-3-10, 2019-3-14)
Run Code Online (Sandbox Code Playgroud)

实际上,这实际上是大约几秒钟,而不是日期,但是想法是相同的。

c# algorithm

5
推荐指数
2
解决办法
145
查看次数

以绘图方式创建 3d 曲面图

我有以下数据:

在此处输入图片说明

我正在尝试绘制 x=long, y=short, z=balance

我是这样做的:

fig.add(go.Scatter3d(x=results['long'], y=results['short'], z=results['balance']))
Run Code Online (Sandbox Code Playgroud)

我得到了类似的东西:

在此处输入图片说明

我真正要找的是一个表面,就像这个例子:

在此处输入图片说明

所以,按照示例的代码,我做了:

fig.add_surface(x=results['long'], y=results['short'], z=results['balance'], row=2, col=1)
Run Code Online (Sandbox Code Playgroud)

但:

在此处输入图片说明

它不仅不显示任何数据,而且似乎完全忽略了子图布局并绘制了所有内容。

这是完整的代码:

fig = make_subplots(rows=2, cols=1, specs=[[{'type': 'xy'}], [{'type': 'scene'}]])

fig.add_trace(go.Scatter(x=series1['timestamp'], y=series1['data'], line_color='red', name='series 1'), row=1, col=1)
fig.add_trace(go.Scatter(x=series2['timestamp'], y=series2['data'], line_color='blue', name='series 2'), row=1, col=1)
fig.update_yaxes(title_text="USD", row=1, col=1)

fig.add_surface(x=results['long'], y=results['short'], z=results['balance'], row=2, col=1)
fig.show()
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:

  • 如何根据我拥有的数据创建平滑的表面?
  • 我错过了什么关于布局?

python plotly

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

对 F# 中的字段及其访问规则以及初始化非常困惑

让我们上这堂课:

type Test() =

    let mutable Flag1 : bool = false
    [<DefaultValue>] val mutable Flag2 : bool

    do
        Flag1 <- true  // that works
        Flag2 <- true  // nope... why?

    member this.SetFlag =
        Flag1 <- true  // no 'this' instance? does that mean it's static?
        this.Flag2 <- true  // that works now, but still no way to set a default value
Run Code Online (Sandbox Code Playgroud)

[<DefaultValue>]当我希望能够将值设置为我自己的任何值时,为什么我需要?

然后现在:

type Test2() =
    Inherit(Test)

    do
        Flag1 <- true  // not accessible
        Flag2 <- true  // not …
Run Code Online (Sandbox Code Playgroud)

f#

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

离线时在 .net 核心的 docker 构建中使用 nuget 缓存

在封锁区的一个新区域,我现在只能访问价格过高的 SIM 卡数据计划,我正在寻找一种方法来最小化带宽。

我有一个应用程序,它的构建有一个常规的 dockerfile,但它每次都会上线以恢复包。

我在 MacOS 上,构建过程不需要是可移植的。

由于我有一个本地 nuget 包缓存 (~/.nuget/packages),我想利用它并重新使用这些文件。

首先,我想指出从我的 IDE 进行发布并使用该结果不是这个项目的一个选项,我真的需要从源代码构建它。

也有许多关于直接或半相关情况的讨论和一些博客文章,但似乎都没有提出理想的解决方案。我做了相当广泛的搜索。如果您认为这是具有有效解决方案的现有帖子的副本,请仔细查看。

我看过的东西:

  • 我可以将 .nuget 缓存安装到卷中并在 docker 构建过程中使用它吗?答案似乎是否定的,因为 docker build 没有 -v / --volume 选项。
  • 我可以安装本地 nuget 服务器吗?我找到的唯一有效的 MacOS 解决方案是 BaGet,在尝试使其工作时,我注意到一个开放的票证,其中说在将其用作缓存时不会提取包依赖项,因此它不是一个有效的解决方案。
  • 我可以在 docker build 的一层中恢复所有包吗?可能,但这很棘手,因为导入了很多子项目,这意味着包将在更改时定期重新导入。

我目前正在看的是:

  • 通过符号链接使 .nuget 文件夹成为构建文件夹的一部分
  • 找到所有要包含的 fsproj 文件,然后将它们复制到 docker build 的一层
  • 使用符号链接作为包源进行 dotnet 还原
  • 做一个构建,作为下一层

一个问题是我无法对 fsproj 依赖项进行硬编码,并且无法从 dockerfile 中找到所有项目文件。一篇博客文章提出了一个预处理过程,在该过程中找到文件、放入存档并在 dockerfile 中展开它。

在我开始走一些复杂的道路之前,有没有人尝试过解决这个问题?或者想出了一个很好的清洁解决方案?


编辑:

docker 不会访问指向构建目录之外的符号链接

macos caching nuget .net-core dockerfile

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

在 dockerfile 中构建项目时,“无法找到回退包文件夹”nuget 错误来自哪里?

构建时,从 dockerfile,我得到这个:

/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: The "ResolvePackageAssets" task failed unexpectedly. [/src/test/test.fsproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: NuGet.Packaging.Core.PackagingException: Unable to find fallback package folder '/usr/local/share/dotnet/sdk/NuGetFallbackFolder'. [/src/test/test.fsproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at NuGet.Packaging.FallbackPackagePathResolver..ctor(String userPackageFolder, IEnumerable`1 fallbackPackageFolders) [/src/test/test.fsproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.NuGetPackageResolver.CreateResolver(IEnumerable`1 packageFolders) [/src/test/test.fsproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.NuGetPackageResolver.CreateResolver(LockFile lockFile) [/src/test/test.fsproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheWriter..ctor(ResolvePackageAssets task) [/src/test/test.fsproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheReader.CreateReaderFromDisk(ResolvePackageAssets task, Byte[] settingsHash) [/src/test/test.fsproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheReader..ctor(ResolvePackageAssets task) [/src/test/test.fsproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.ReadItemGroups() [/src/test/test.fsproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.ExecuteCore() …
Run Code Online (Sandbox Code Playgroud)

build nuget docker .net-core dockerfile

5
推荐指数
4
解决办法
4444
查看次数

在 F# 中的 for 循环中,'-&gt;' 和 'do' 之间有什么区别

我可以做这个:

[ for i in 0 .. 5 -> i ]
Run Code Online (Sandbox Code Playgroud)

或者

[ for i in 0 .. 5 do i ]
Run Code Online (Sandbox Code Playgroud)

但是,虽然我可以这样做:

[ for i in 0 .. 5 do yield! [i * 4; i] ]
Run Code Online (Sandbox Code Playgroud)

我不能这样做:

[ for i in 0 .. 5 -> yield! [i * 4; i] ]
Run Code Online (Sandbox Code Playgroud)

这是为什么?两者如何区别对待?

f#

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

F#中的“and”关键字

来自https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/keyword-reference的文档:

在此处输入图片说明

看起来'and'可以用在上面的四个类别中。通过记录和约束,我看到了用例。但是任何人都可以说明 let 绑定和成员的用途吗?

我在这个要点中看到了一个例子:https : //gist.github.com/theburningmonk/3199252,但我不确定它是如何工作的。

f#

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