我正在使用 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 个对象中,例如 …
我想用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
我有一个重定向到外部网站的链接...我想知道该链接重定向到的最终 URL 是什么。我试过:
requests.get("link.which.redirects.and.has.dynamic.js.code.com")
Run Code Online (Sandbox Code Playgroud)
但是我无法获得最终重定向的 URL,因为它是动态构建的......我不确定到底会发生什么,但是页面加载涉及一些 JavaScript 代码,最终结果是重定向到外部页面。
所以相反,我尝试了Selenium和ChromeDriverManager。
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的方法?
我已将我的Elasticsearch服务器部署到云:cloud.elastic.co
我已经看过停用词和同义词文档,它解释了stopwords.txt/synonyms.txt文件可以在config文件夹下复制...但是我怎样才能在云服务器上执行此操作?
我知道我可以在数组中传递停用词,但是使用文件,更新它们会更容易:
如果使用stopwords_path参数在文件中指定停用词,则更容易更新停用词.您只需更新文件(在群集中的每个节点上),然后强制通过以下任一操作重新创建分析器
我已经在 Ubuntu 上安装了 Elasticsearch 7。我相信 X-Pack 是默认安装的,但我需要启用它。
我应该在哪个文件中设置这个设置?
我的集群设置在:/etc/elasticsearch/elasticsearch.yml和 中/etc/default/elasticsearch,但我xpack.security.enabled在任何一个文件中都看不到...
我刚刚安装了最新版本的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。
有谁知道以前的版本是否已被删除?
在下面的示例中,使用可以打开一个模式,输入一条消息,然后发送它...发送消息需要 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)我正在开发一个 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) 我使用 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 记录: …
我想要InternalClass(internal在大会之外无法访问)
我还想定义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是一个有效的修饰符,但我不确定如何使用它?