我正在使用ElasticSearch和我的C#项目中的NEST一起玩.我的用例包括几个具有不同文档类型的索引,到目前为止我分别查询.现在我想实现一个全局搜索功能,它可以查询所有现有索引,文档类型并正确评分结果.
所以我的问题是:如何通过使用NEST实现这一目标?
目前我正在使用该功能,SetDefaultIndex但如何定义多个索引?
也许为了更好地理解,这是我想用NEST实现的查询:
{
"query": {
"indices": {
"indices": [
"INDEX_A",
"INDEX_B"
],
"query": {
"term": {
"FIELD": "VALUE"
}
},
"no_match_query": {
"term": {
"FIELD": "VALUE"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
TIA
当我在我的一个脚本中使用WITH子句时,我遇到了一个问题.这个问题很容易指出我想多次使用CTE别名,而不仅仅是在外部查询中,并且存在症结.
例如:
-- Define the CTE expression
WITH cte_test (domain1, domain2, [...])
AS
-- CTE query
(
SELECT domain1, domain2, [...]
FROM table
)
-- Outer query
SELECT * FROM cte_test
-- Now I wanna use the CTE expression another time
INSERT INTO sometable ([...]) SELECT [...] FROM cte_test
Run Code Online (Sandbox Code Playgroud)
最后一行将导致以下错误,因为它在外部查询之外:
消息208,级别16,状态1,行12无效的对象名称'cte_test'.
有没有办法多次使用CTE.让它持久?我目前的解决方案是创建一个临时表,我存储CTE的结果,并将此临时表用于任何进一步的语句.
-- CTE
[...]
-- Create a temp table after the CTE block
DECLARE @tmp TABLE (domain1 DATATYPE, domain2 DATATYPE, [...])
INSERT INTO @tmp (domain1, domain2, [...]) SELECT domain1, …Run Code Online (Sandbox Code Playgroud) 我目前正在评估ElasticSearch中的Completion Suggester功能以实现自动完成功能.到目前为止看起来确实很不错.但是我在权限方面有点挣扎.
让我们假设我有一个像ElesticSearch网站上的例子那样的酒店索引.除了获得与给定短语匹配的酒店之外,我还想检查是否允许用户看到"建议".像酒店只适合某个客户的东西.我添加了一个用于保存组/权限的新字段,就像用于测试目的的简单字符串一样.我想要完成的是按群组过滤.
映射看起来像这样:
{
"mappings": {
"hotel" : {
"properties" : {
"name" : { "type" : "string" },
"city" : { "type" : "string" },
"group" : { "type" : "string" },
"name_suggest" : {
"type" : "completion",
"payloads" : true
}
}
}
}
}'
Run Code Online (Sandbox Code Playgroud)
并提供以下文件:
{
"name" : "Mercure Hotel Munich",
"city" : "Munich",
"group " : "1",
"name_suggest" : "Mercure Hotel Munich"
}'
{
"name" : "Monaco Hotel",
"city" : "Munich",
"group" : "2",
"name_suggest" …Run Code Online (Sandbox Code Playgroud) 我在我的React组件中使用Redux-i18n。按设计工作。现在,我在动作创建者文件中有几种业务逻辑作为单独的功能。这包括其他错误处理和有效性检查。显示其中一些,其他通过电子邮件发送。至此,我认识了用户/收件人,并希望以他们喜欢的语言向他们显示消息/邮件。我当然在后端使用模板,但是我想要添加和转换的应用程序具有某些属性。
因此,我想翻译动作创建者中的消息。有没有办法像使用t()功能的组件那样方便地访问翻译文字?