我正在使用ElasticSearch,我想知道是否可以使用faceting来检索结果的一些统计数据,更具体地说,在我的结果中提到最多的人。我已经有一个包含该信息的字段。但现在,当我想按多个单词分组时,我的facet结果按术语打破了该领域的数据。
IE:如果用户搜索John,我希望获得诸如
{
[...]
"facets" : {
"topPeople" : {
"_type" : "terms",
"missing" : 0,
"total" : 1739884,
"other" : 1705319,
"terms" : [ {
"term" : "John Smith",
"count" : 13954
}, {
"term" : "John Snow",
"count" : 1432
}, {
"term" : "John Baird",
"count" : 770
}]
}
}
相反,ElasticSearch按术语分解结果并返回如下内容:
{
[...]
"facets" : {
"topPeople" : {
"_type" : "terms",
"missing" : 0,
"total" : 1739884,
"other" : 1705319,
"terms" : [ {
"term" : "John",
"count" : 1739884
}, {
"term" : "Smith",
"count" : 13954
}, {
"term" : "Snow",
"count" : 1432
}]
}
}
我在某个地方读到,如果我将索引设置为不被分析,ElasticSearch应该返回完整的单词字符串。然而,我仍然希望用户能够在字段上搜索。我想避免重复该字段来拥有一个未分析的字段。有什么方法可以用ElasticSearch对每个字段进行分组吗?
我目前正在使用以下方面查询:
{
"query" : {
[...]
},
"facets" : {
"topPeople" : {
"terms" : {
"field" : "people",
"size" : 3
}
}
}
}
你在正确的轨道上。您需要一个不需要分析的索引来完成您所要求的工作,但是您不需要牺牲用户在字段上的搜索方式。这里的答案(对于<1.x版本)是多字段类型。对于您的示例,您希望您的映射如下所示:
"topPeople" : {
"type" : "multi_field",
"fields" : {
"topPeople" : {"type" : "string", "index" : "analyzed"},
"raw" : {"type" : "string", "index" : "not_analyzed"}
}
}
搜索时,您可以继续在toppeople
上搜索,但在facet时,您将在toppeople.raw
上facet。
问题内容: 我正在使用Elasticsearch v2.3.0。假设我有一个映射索引: 所以,从文本复制到文本因。如果你查询信息,然后从纯数据显示在现场,因为不被修改。如果要获取所有文本,则应汇总客户端上的所有字段。如果有许多子字段,这可能会带来不便。 是否有一个魔术查询,该查询允许获取复制了所有文本的字段? 问题答案: 在字段集的映射中, 您应该能够使用字段来获取它 范例 : 结果
问题内容: 我正在阅读elasticsearch的文档,此[page] [1]讨论了使用将孩子映射到父类型。 如果我有被称为孩子的父母,则被称为: 每种类型的字段: 我怎么能在搜索领域和领域的前提是的是? 有没有办法让父母拥有的所有孩子(某种类型或任何类型)? 在索引子文档时,是否可以将父对象作为对象属性传递给JSON数据,而不是将其作为查询字符串的一部分? 在尝试了imotov的建议之后,我想到
问题内容: 我的映射定义中包含以下字段: 当我索引用的有价票证该值被分成3个术语:,,。 我究竟做错了什么? 我创建了以下索引: 然后我索引以下文档: 然后,我将插件https://github.com/jprante/elasticsearch-index- termlist 与以下API结合使用: 这将给我以下响应: `` 问题答案: 通过运行以下命令验证映射是否已真正设置: 创建索引的命令似
问题内容: 我只想获取嵌套字段,但不能,因为它不是叶字段。 我在下面尝试过,但是无法匹配嵌套对象中的每个ID和名称。 结果: 这是我的预期结果: 问题答案: 如果您没有某个查询应以某种方式匹配嵌套字段,则可以这样进行: 如果您还有一个查询,并且想返回 匹配 的 嵌套文档,则 可以这样操作(使用):
我有映射: 和一些文件: 等等。 我尝试进行查询: 未找到任何结果。如果我尝试将同一查询按字段与其他类型(不是字符串,也没有原始子字段)一起使用,它会起作用。我应该如何为这种情况编写查询?谢谢 P、 美国字段“FieldA”具有子字段raw,因为我需要同时分析和不分析此字段
你如何获得子节点内容与JavaScript具体? 我可以通过以下方式获取父节点信息: 花岗岩资源属性 但是我需要访问子节点 -家长 --子对象(命名图像) 有很多方法可以通过Java访问子节点,但我正在构建一个只使用JavaScript的解决方案: 下面是Java示例