小编Hoo*_*ini的帖子

使用对象初始值设定项语法构建动态查询

我正在使用 Nest 来查询 Elasticsearch,并且我已经为我的搜索编写了以下查询:

var searchResponse = _elasticClient.Search<AdDocument>(s => s
    .Query(q => q
       .Bool(b => b
          .Must(m => m
             .MultiMatch(mm => mm
                .Fields(f => f.Field(p => p.Title, 1.5).Field(p => p.Description))
                .Query("MyKeyword")
                .Fuzziness(Fuzziness.Auto)
             )
       )
       .Filter(fi => fi
          .Bool(fb => fb
             .Must(m => m.Range(r => r.Field(f => f.NoOfBedrooms == 3)),
                   m => m.Range(r => r.Field(f => f.NoOfBathrooms == 2)),
                   m => m.Range(r => r.Field(f => f.Price > 2000))
             )
          )
       )
    )
  )
);
Run Code Online (Sandbox Code Playgroud)

我想要实现的是根据传入的过滤器动态构建此查询。如何使用Object Initializer编写此查询?

例如,我想在查询外部创建这三个范围过滤器,并将它们放入 3 个对象中,例如 …

elasticsearch nest elasticsearch-net

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

“StandardKernel”已过时:“使用 StandardKernelConfiguration 和 StandardReadonlyKernel”

我想用ninject(4.0.0版本)来解决依赖于我的Windows服务程序,我已经看到了相当 一个 教程,他们都使用StandardKernel到ninject内核初始化如下:

IKernel kernel = new StandardKernel();
kernel.Load(Assembly.GetExecutingAssembly());
Run Code Online (Sandbox Code Playgroud)

但是我在使用时收到以下警告StandardKernel

“StandardKernel”已过时:“使用 StandardKernelConfiguration 和 StandardReadonlyKernel”

任何人都可以举一个使用StandardKernelConfigurationand的例子StandardReadonlyKernel吗?

c# windows-services dependency-injection ninject console-application

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

如何获取使用 JavaScript 构建的锚标记的重定向链接?

我有一个重定向到外部网站的链接...我想知道该链接重定向到的最终 URL 是什么。我试过:

requests.get("link.which.redirects.and.has.dynamic.js.code.com")
Run Code Online (Sandbox Code Playgroud)

但是我无法获得最终重定向的 URL,因为它是动态构建的......我不确定到底会发生什么,但是页面加载涉及一些 JavaScript 代码,最终结果是重定向到外部页面。

所以相反,我尝试了SeleniumChromeDriverManager

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

class MySpider(scrapy.Spider):
    name = 'my_spider'

    def __init__(self):
        self.driver = webdriver.Chrome(ChromeDriverManager().install())

    def parse(self, response):
        link = "link.which.redirects.and.has.dynamic.js.code.com"
        self.driver.get(link)
        time.sleep(1) # without this wait, driver.current_url is not the final redirect
        url = self.driver.current_url
Run Code Online (Sandbox Code Playgroud)

上面的代码加载了整个页面,为了获取重定向URL,有没有更高效的获取重定向URL的方法?

python scrapy python-requests

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

上传停用词和同义词到Elasticsearch可以服务器

我已将我的Elasticsearch服务器部署到云:cloud.elastic.co

我已经看过停用词同义词文档,它解释了stopwords.txt/synonyms.txt文件可以在config文件夹下复制...但是我怎样才能在云服务器上执行此操作?


我知道我可以在数组中传递停用词,但是使用文件,更新它们会更容易:

如果使用stopwords_path参数在文件中指定停用词,则更容易更新停用词.您只需更新文件(在群集中的每个节点上),然后强制通过以下任一操作重新创建分析器

elasticsearch

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

如何启用 xpack.security.enabled?

我已经在 Ubuntu 上安装了 Elasticsearch 7。我相信 X-Pack 是默认安装的,但我需要启用它。

我应该在哪个文件中设置这个设置?

我的集群设置在:/etc/elasticsearch/elasticsearch.yml和 中/etc/default/elasticsearch,但我xpack.security.enabled在任何一个文件中都看不到...

elasticsearch

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

无法加载文件或程序集“MySql.Data.EntityFramework, Version=8.0.19.0 或其依赖项之一

我刚刚安装了最新版本的MySQL.Data.EntityFramework Version 8.0.19.

我第一次运行代码时出现以下错误:

最新的 nuget 包 (MySql.Data 8.0.19) 包含 Ubiety.Dns.Core.dll 的未签名版本。这会导致加载时出现异常。

根据:这个错误报告,我需要安装:Ubiety.Dns.Core/包...所以我安装了这个包。现在我收到以下异常:

无法加载文件或程序集“MySql.Data.EntityFramework,Version=8.0.19.0,Culture=neutral,PublicKeyToken=c5687fc88969c44d”或其依赖项之一。


作为一种解决方法,我尝试安装以前的版本,MySQL.Data.EntityFramework Version 8.0.18但找不到任何以前的版本:MySql.Data.EntityFramework Nuget

有谁知道以前的版本是否已被删除?

.net mysql entity-framework mysql.data

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

当旋转器显示时如何使引导模式变灰?

在下面的示例中,使用可以打开一个模式,输入一条消息,然后发送它...发送消息需要 2 秒...我想显示一个微调器(它已经在工作)但我也想当微调器显示时,模态的背景会变灰......

$("#sendBtn").click(function() {
  $('.sending-message-spinner').show();
      setTimeout(function () {
        $("#myModal").modal("hide");
    }, 2000);
});
Run Code Online (Sandbox Code Playgroud)
textarea {
   width: 100%;
   height: 80px;
}

@keyframes loading {
   0% {
       transform: rotate(0);
   }
   100% {
      transform: rotate(360deg);
   }
}

.sending-message-spinner {
   position: fixed;
   text-align: center;
   z-index: 20;
   display: none;
   width: 40px;
   height: 40px;
   border: 8px solid #B0B0B0;
   border-radius: 50%;
   border-top-color: #000;
   animation: loading .75s linear infinite;
}
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> …
Run Code Online (Sandbox Code Playgroud)

html css twitter-bootstrap bootstrap-4

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

Ninject,如何通过调用 LoggerFactory.CreateLogger 注入一个通用的 Logger&lt;T&gt;

我正在开发一个 ASP.NET MVC 应用程序。

我已经在从 Global.asax 调用的静态类中初始化了我的 LoggerFactory

using Microsoft.Extensions.Logging;
using Serilog;
using System.IO;

namespace web
{
    public static class LogConfig
    {
        public static LoggerFactory LoggerFactory = new LoggerFactory();

        public static void RegisterLogger()
        {
            LoggerFactory = new LoggerFactory();
            Log.Logger = new LoggerConfiguration().MinimumLevel.Debug().WriteTo.RollingFile(Path.Combine("", "log-{Date}.txt")).CreateLogger();
            LoggerFactory.AddSerilog();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想使用 ninject,将 ILogger 的一个实例注入到我的构造函数中......

在我的构造函数中,我有:

private ILogger<MyTypeController> _logger;

public MyTypeController(ILogger<MyTypeController>) 
{
    // This works fine but I want to inject it
    _logger = LogConfig.LoggerFactory.CreateLogger<MyTypeController>();
}
Run Code Online (Sandbox Code Playgroud)

上面的代码有效,但我想使用 ninject 注入它……这是我尝试过的,但甚至没有编译:

kernel.Bind(typeof(ILogger<>)).ToProvider(LogConfig.LoggerFactory.CreateLogger<>());
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc dependency-injection ninject ninject-extensions

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

SendGrid Automated Security 如何处理 SPF 记录?

我使用 SendGrid,并且有 2 个专用 IP...我的网站使用 SendGrid 发送电子邮件。

我同时使用 G Suite,并且我个人使用 G Suite (Google Workspace) 发送电子邮件

我想设置 DKIM 和 SPF 记录。SendGrid 文档有一个名为Automated Security 的选项:

自动化安全性允许 SendGrid 处理您的 DKIM 签名以及带有 CNAME 记录的出站电子邮件的 SPF 身份验证。这使您可以添加专用 IP 地址或更新您的帐户,而无需更新 SPF 记录。

后来...

当自动安全性打开时,SendGrid 会生成 3 条不同的 CNAME 记录。在设置域身份验证的后续步骤中,您将这些记录提供给您的 DNS 提供商,然后验证它们是否正确上传。

如果您选择关闭,我们会生成 1 条 MX 记录和 2 条 TXT 记录。在设置域身份验证的后续步骤中,您将这些记录提供给您的 DNS 提供商,然后验证它们是否正确上传。

因此,当自动安全性开启,我不需要添加任何 SPF 和 DKIM 记录,而是添加了自动安全性所需的 3 个 CNAME 记录...

另一方面,我也在使用 G Suite,G Suite 希望我添加 DKIM 和以下 SPF 记录: …

email spf dkim sendgrid

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

是否可以在 C# 中定义内部类型的受保护属性?

我想要InternalClassinternal在大会之外无法访问)

我还想定义protected类型的属性InternalClass(在同一程序集中)

这就是我所拥有的:

internal class InternalClass 
{
}
Run Code Online (Sandbox Code Playgroud)

现在我想在另一个类中使用这种类型,但它必须是protected

public class MyClass
{
   protected internal InternalClass IC { get; }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码给我以下错误:

可访问性不一致:属性类型“InternalClass”的可访问性低于属性“MyClass.IC”

当我检查文档时,我可以看到protected internal是一个有效的修饰符,但我不确定如何使用它?

c#

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