考虑一个非常简单的模型,其中我们有位置,每个位置可以有零个或多个事件。位置将具有名称,描述和地理位置数据(经度/纬度)之类的属性。事件应附加到一个位置(其父级),并应具有名称和描述。
{
"location" : {
"properties": {
"name": { "type": "string", "boost": 2.0, "analyzer": "snowball" },
"description": { "type": "string", "analyzer": "snowball" },
"geo": { "type": "geo_point" },
"exhibits": {
"type": "nested",
"properties": {
"name": { "type": "string", "boost": 2.0, "analyzer": "snowball" },
"description": { "type": "string", "analyzer": "snowball" }
}
}
}
}
}
我想要做的是查询子文档(事件),以对其名称和描述进行全文搜索。我想找回匹配的事件,还可以获取其父位置的名称。我还想通过位置坐标缩小结果集。我不想获取与查询不匹配的任何事件。在Elastic
Search中有可能吗?我应该使用哪种类型的查询?
我曾尝试将事件作为数组属性放置在location下(请参见上文)并使用nested
查询,但它不会返回我想要的结果类型(我认为它会返回整个位置,包括所有事件,甚至是不匹配的事件我的查询)。我尝试将事件放入提供_parent属性的单独索引(映射?)中,然后top_children
对位置执行查询,但是没有任何结果。
{
"exhibit": {
"_parent": { "type": "locations" },
"properties": {
"name": { "type": "string", "boost": 2.0, "analyzer": "snowball" },
"description": { "type": "string", "analyzer": "snowball" }
}
}
}
谁能给我一些启示?我不知道从哪里开始
这是解决我的问题的可行方法,也许对某人有用。
位置映射:
{
"location" : {
"properties": {
"name": { "type": "string", "boost": 2.0, "analyzer": "snowball" },
"description": { "type": "string", "analyzer": "snowball" },
"geo": { "type": "geo_point" }
}
}
}
展品图:
{
"exhibit": {
"_parent": { "type": "locations" },
"properties": {
"name": { "type": "string", "boost": 2.0, "analyzer": "snowball" },
"description": { "type": "string", "analyzer": "snowball" }
}
}
}
查询:
{
"fields": [ "_parent", "name", "_source" ],
"query": {
"bool": {
"should": [
{ "text": { "name": "candy" } },
{ "text": { "description": "candy" } }
]
}
},
"filter": {
"and": [
{
"terms" : {
"_parent": [ "4e7089a9b97d640b30695b7a", "4e7089eeb97d640b30695b7b" ]
}
},
{ "range": { "start": { "lte": "2011-09-22" } } },
{ "range": { "end": { "gte": "2011-09-22" } } }
]
}
}
您应该使用该_parent
字段进行查询,并将该字段传递给您要将展览品限制到的位置的ID数组。
我希望通过ContainerRequestFilter中的ExtendedUriInfo检索matchedResources/matchedResults,以便检查路径是否应该受到保护。是否有一种方法可以创建一个在ExtendedUriInfo填充之后,但在调用匹配的资源类和方法之前调用的筛选器?
我正在写一个求解方程求解方法。方法将是递归的;搜索所有外括号,当找到时,重新求解括号内的值,当没有找到括号时返回值。 Regex.Replace(...)替换指定模式的所有匹配项。我希望能够匹配到多个场景,并用不同的输出替换每个场景
我试图检索一个带有特定'_ID'的文档和一个带有另一个特定'_ID'的嵌入文档。 我的文档是一个目录,它包含一个课程数组。 示例数据: 在mongod中,我运行这个聚合查询,并得到我想要的结果: 正如我前面提到的,我已经得到了一个目录实例,里面有一个课程实例。
问题内容: 我正在尝试匹配模式: 以下仅匹配第一次出现的情况: 结果是: 但是,[使用pythex似乎可以正常工作](http://pythex.org/?regex=%3C–(%5B%5Cw%5Cs%5D%2B)–%3E(%5B%5Cs%5CS%5D*%3F)(%3F%3D%5Cn%3C–%7C%24)&test_string=%3C–%20Option%201%20–%3E%0ANice%20
我已经做了几个小时的实验和研究,试图找到一种方法来实现这一点,但我只是没有任何运气。 因此,我有几种不同的自定义帖子类型需要混合一下。让我试着尽可能清晰和经济地解释它。 有2种自定义帖子类型,消息 因此,目前,我在一个“校园”的单一帖子中,试图查询和获取最新的消息帖子,这是有效的。但是,然后我尝试只针对消息post中特定中继器行的值并将其拉入。消息中的转发器字段是一个校园选择(基于“校园”帖子类型
问题内容: 我需要通过一个reg表达式匹配两种情况并进行替换 ‘long.file.name.jpg’->’long.file.name_ suff .jpg’ ‘long.file.name_ a .jpg’->’long.file.name_ suff .jpg’ 我正在尝试执行以下操作 但这被削减了扩展名“ .jpg”,我得到了 long.file.name_suff。而不是long.fil