我试图在ElasticSearch中用自定义脚本编写查询:
>
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-script-filter.html#query-dsl-script-filter
https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html。
一切都很好,直到我决定使用特殊的文档字段(例如:_id、_uid等)。该查询总是返回空结果,并且如果我像这样使用它:doc['_id'].value
不会出现错误。
那么如何在自定义脚本中使用文档的“_id”字段呢?
_id
在uid
字段中索引,使用以下格式:type#id
。
因此,您的脚本应该如下所示(对于名为my_type
,ID为1
)的类型:
{
"query": {
"filtered": {
"filter": {
"script" : {
"script" : "doc['_uid'].value == 'my_type#1'"
}
}
}
}
}
一个更复杂的解决方案是取出ID
ES-way如下所示:
{
"query": {
"filtered": {
"filter": {
"script": {
"script": "org.elasticsearch.index.mapper.Uid.splitUidIntoTypeAndId(new org.apache.lucene.util.BytesRef(doc['_uid'].value))[1].utf8ToString() == '1'"
}
}
}
}
}
其中org.elasticsearch.index.mapper.uid.splituidIntotyPeandid(new org.apache.lucene.util.bytesref(doc['_uid'].value))[1]
是ID
,org.elasticsearch.index.mapper.uid.splituidIntotyPeandid(new org.apache.lucene.value))[0]
是类型
。
我完全不知道如何更好地处理这个过程。 下面的宏分析文档中的每个字符,如果ASCII值高于255,它会对其应用特殊的字符样式——有些是针对特定语言的,如果不是这些语言的一部分,则只使用“lang”。 宏工作正常,但是在长文档上,处理它需要很长时间。例如,我刚刚处理了一个147页(单行间距)的文档,每页上有几行希腊文,用了40分钟,在Windows的Word 2016中(相比之下,在Mac上完全相同的
问题内容: 我的应用程序正在使用这样的NSURL: 当我试图做一个从这个NSURL获取数据的任务时,如下所示: 但是尝试从该地址获取数据时出现错误,尽管当我使用野生动物园去链接时:“ http://www.geonames.org/search.html?q =Aïn+Béïda+ Algeria&country =“我可以看到数据。我该如何解决? 问题答案: 迅捷2 编码的URL现在是: “ h
关于字符集和替代字形 除键盘上可看到的字符之外,字体中还包括许多字符。根据字体的不同,这些字符可能包括连字、分数字、花饰字、装饰字、序数字、标题和文体替代字、上标和下标字符、变高数字和全高数字。字形是特殊形式的字符。例如,在某些字体中,大写字母 A 有几种形式可用,如花饰字或小型大写字母。 插入替代字形的方式有三种: 可以使用选择上下文菜单来查看和插入适用于所选字符的字形。 可以使用“字形”面板来
问题内容: 如何在Java / Eclipse中使用/显示♥,♦,♣或like等字符? 当我尝试直接使用它们时,例如在源代码中,Eclipse无法保存文件。 我能做什么? 编辑:如何找到Unicode转义序列? 问题答案: 问题在于,您使用的字符无法在文件设置为(Cp1252)的编码中表示。从我的角度来看,您基本上有两个选择: 选项1. 更改编码。 根据IBM的介绍,您应该将编码设置为UTF-8。
问题内容: 我可以使用setText(“åäö”),但是如果我没有在键盘上键入内容,这也不起作用 奇怪的是,它在Mac上不起作用,但在Windows上却起作用,有人对此有答案吗?谢谢! 这是另一个主题相似的问题! 如何从Libgdx中的特殊字符获取输入? 我试图获得ascii值并将其通过 但这不起作用。我将项目编码设置为UTF-8,并且可以打印åäö等特殊字符。 编辑:我尝试了 没有打印åäö 问
我需要根据模板生成几个word文档。在每个文档中,都需要替换某些字符串(所有字符串都包含在一组双大括号中,以便轻松区分)。 我试过: **阅读整个模板,并使用正则表达式替换单词的所有出现。替换 **还可以访问每个Text元素 但上述解决方案都不管用,因为在中国。docx文件所有这些花括号都存储在不同的文本元素中(