我们有一个现有的搜索功能,它涉及SQL Server中多个表的数据.这会导致我们的数据库负载过重,所以我试图找到一种更好的方法来搜索这些数据(它不会经常更改).我使用包含120万条记录的导入,一直在使用Logstash和Elasticsearch大约一周.我的问题基本上是"如何使用我的'主键'更新现有文档"?
CSV数据文件(管道分隔)如下所示:
369|90045|123 ABC ST|LOS ANGELES|CA
368|90045|PVKA0010|LA|CA
367|90012|20000 Venice Boulvd|Los Angeles|CA
365|90045|ABC ST 123|LOS ANGELES|CA
363|90045|ADHOCTESTPROPERTY|DALES|CARun Code Online (Sandbox Code Playgroud)
我的logstash配置如下所示:
input {
stdin {
type => "stdin-type"
}
file {
path => ["C:/Data/sample/*"]
start_position => "beginning"
}
}
filter {
csv {
columns => ["property_id","postal_code","address_1","city","state_code"]
separator => "|"
}
}
output {
elasticsearch {
embedded => true
index => "samples4"
index_type => "sample"
}
}Run Code Online (Sandbox Code Playgroud)
elasticsearch中的文档,如下所示:
{
"_index": "samples4",
"_type": "sample",
"_id": "64Dc0_1eQ3uSln_k-4X26A",
"_score": 1.4054651,
"_source": {
"message": [
"369|90045|123 ABC ST|LOS …Run Code Online (Sandbox Code Playgroud) Hemang Joshi@SOLO MINGW64 ~ (add-hemang-joshi)
Run Code Online (Sandbox Code Playgroud)
你好,我是 GitHub 的新手,我想知道这是什么,为什么每次都会显示它,如何删除它?(add-hemang-joshi) 在 GitBash 中为绿色。另请参阅图像。
我尝试使用:
git branch -D add-hemang-joshi
Run Code Online (Sandbox Code Playgroud)
但没有工作并显示错误。
error: Cannot delete branch 'add-hemang-joshi' checked out at 'C:/Users/7386-856
15SG 2913642'
Run Code Online (Sandbox Code Playgroud)
Getting this Error
ELEMENT CURRLANGUAGE IS UNDEFINED IN SESSION.
Don't understand why. It was working fine until yesterday
<cfif session.currLanguage eq 'English'>
<cfset session.currLanguage = ''>
</cfif>
Run Code Online (Sandbox Code Playgroud) 我一直在尝试找出正确的符号来使用该evaluate()函数。让我尝试解释一下:
我有几个组件:tasks.cfc,risks.cfc...等,每个组件都有各自的功能。命名约定类似,例如在tasks.cfc 中
我有该方法countAllFunctionInstanceTasks,返回变量具有相同的名称(countAllFunctionInstanceTasks),并且在risks.cfc我有等效的方法countAllFunctionInstanceRisks,并且其返回变量具有相同的名称(countAllFunctionInstanceRisks)。每个返回变量都是一个具有以下键的结构:
totalRed
totalAmber
totalGreen
totalComplete
totalOpen
Run Code Online (Sandbox Code Playgroud)
当我调用该组件时,我动态执行此操作:
<cfinvoke component="components.#session.myPermissions[i][j][k][l][m][n][o]["activityName"]#"
method="countAllFunctionInstance#session.myPermissions[i][j][k][l][m][n][o]["activityName"]#"
returnvariable="countAllFunctionInstance#session.myPermissions[i][j][k][l][m][n][o]["activityName"]#">
Run Code Online (Sandbox Code Playgroud)
所做的[i][j][k][l][m][n][o]["activityName"]就是从一组嵌套结构中提取一个值,并将重新调整该值(保持上面的示例)“任务”或“风险”。
这一点工作正常,它会按预期重新调整相应的值,例如,如果我在哪里:
<cfoutput>#countAllFunctionInstanceTasks.totalOpen#</cfoutput>
Run Code Online (Sandbox Code Playgroud)
我将从tasks.cfc 中获得正确的值并且
<cfoutput>#countAllFunctionInstanceRisks.totalOpen#</cfoutput>
Run Code Online (Sandbox Code Playgroud)
我将从中获得正确的值risks.cfc。
到目前为止一切都很好,但是......我需要动态获取这些值,但我正在努力获取正确的符号来动态返回相应的值。所以我可以做类似的事情:
<p>countAllFunctionInstance#session.myPermissions[i][j][k][l][m][n][o]["activityName"]#.totalOpen</p>
Run Code Online (Sandbox Code Playgroud)
这将返回字符串:
"countAllFunctionInstanceTasks.totalOpen"
"countAllFunctionInstanceRisks.totalOpen"
Run Code Online (Sandbox Code Playgroud)
但我想做的是动态生成已经存在并已从相应 cfc 重新调整的变量名称。
到目前为止,我所能做的就是:
<cfset totalOpen = "countAllFunctionInstance#session.myPermissions[i][j][k][l][m][n][o]["activityName"]#.totalOpen" />
<cfoutput>#evaluate(totalOpen)#</cfoutput>
Run Code Online (Sandbox Code Playgroud)
我知道使用该evaluate()函数不是一个好习惯,我试图找到一种替代符号,例如:
#["countAllFunctionInstance" & session.myPermissions[i][j][k][l][m][n][o]["activityName"] & ".totalOpen"]#
Run Code Online (Sandbox Code Playgroud)
我已经阅读了我可以找到的关于评估()替代方案和数组表示法的其他帖子,但这些与我在这里的用例不太一样,经过多次尝试和内涵,没有任何效果,我完全被难住了!
有人可以帮我吗?
谢谢你,
詹姆士
coldfusion ×3
cfml ×1
cfoutput ×1
csv ×1
git ×1
git-bash ×1
git-branch ×1
git-commit ×1
github ×1
html ×1
logstash ×1
session ×1