我正在尝试向cfc添加一个接口,其中包含cfml文件中的一些函数,但是它会抛出错误消息"component [...]没有实现接口的函数[..]"它的功能抱怨是在包含的cfml文件中实现的,我已经在railo 4和lucee 5中测试了这个并且在两者中都得到了相同的错误但它在coldfusion 11中有效吗?是否有人知道在lucee中是否有解决方法或修复此问题或railo?
下面是重现错误的示例代码.
interface {
public numeric function func() output="false";
}
Run Code Online (Sandbox Code Playgroud)
component implements="int" {
include "inc.cfm";
}
Run Code Online (Sandbox Code Playgroud)
<cfscript>
public numeric function func() output="false"{
return 2;
}
</cfscript>
Run Code Online (Sandbox Code Playgroud)
<cfscript>
cfc = createObject("component", "comp");
writedump(cfc.func());
</cfscript>
Run Code Online (Sandbox Code Playgroud) 我正在考虑从 solr 切换到 elasticsearch 并在不提供模式/映射的情况下将一堆文档编入索引,并且我之前在 solr 中设置为索引字符串的许多字段已设置为文本和关键字使用多字段的字段。
将关键字字段也用作使用多字段的文本字段是否有任何好处?在我的情况下,字段中的大多数值都是单个单词,所以我想如果它们被发送到分析器并不重要,但是 es 文档似乎暗示在搜索时不考虑关键字字段或至少以不同的方式对待?
只是为了进一步扩展一点,如果我搜索术语“ipad”,如果它在关键字字段中包含“ipad”以及其他一些文本字段与没有关键字字段的同一文档相比,文档得分会更高吗?如果说“ipad”仅在关键字字段中,文档是否仍然匹配?
由于标题建议我想循环现有的字典并更改一些值,基于这个问题的答案,我想出了下面的代码,但它不起作用,因为值在第二次调试调用中没有改变,我'我认为这是因为在另一个问题中,他们正在从头开始创建一个新词典,但我也尝试过没有外部花括号,我认为这会导致它改变现有值.
- set_fact:
uber_dict:
a_dict:
some_key: "abc"
another_key: "def"
b_dict:
some_key: "123"
another_key: "456"
- debug: var="uber_dict"
- set_fact: "{ uber_dict['{{ item }}']['some_key'] : 'xyz' }"
with_items: "{{ uber_dict }}"
- debug: var="uber_dict"
Run Code Online (Sandbox Code Playgroud)