我正在使用 elasticsearch 0.90.2 和 elasticsearch-river-mongodb 1.7.0 从 mongodb 的 oplog 中检索数据。在我试图索引的集合中,我有数千条结构化记录,让我们将它们命名为“field1”、“field2”、“field3”...“field10”
有没有办法只索引 'field1' 和 'field2' ?这些是字符串还是日期对象有关系吗?
谢谢
我正在使用 elasticsearch 0.90.2 和 elasticsearch-river-mongodb 1.7.0 从 mongodb 的 oplog 中检索数据。在我试图索引的集合中,我有数千条结构化记录,让我们将它们命名为“field1”、“field2”、“field3”...“field10”
有没有办法只索引 'field1' 和 'field2' ?这些是字符串还是日期对象有关系吗?
谢谢
我从未使用过河流插件,但我知道的一件事是您可以通过映射或模板控制字段的索引。对于每个字段,您可以在映射或模板中将属性“索引”指定为三个不同的选项:analyzed、not_analyzed、no。这是官方文档。
在使用分析器将其分解为标记后,设置为要对要索引和可搜索的字段进行分析。not_analyzed表示它仍然可以搜索,但不经过任何分析过程或分解为标记。no意味着它根本不可搜索(作为单个字段;它可能仍包含在 _all 中)。设置为no会禁用 include_in_all。默认为已分析。
如果您希望您的字段仍然可搜索,请选择“not_analyzed”,否则选择“no”。字段的类型应该无关紧要。
这是来自官方网站的映射示例
{
"tweet" : {
"properties" : {
"user" : {"type" : "string", "index" : "not_analyzed"},
"message" : {"type" : "string", "null_value" : "na"},
"postDate" : {"type" : "date"},
"priority" : {"type" : "integer"},
"rank" : {"type" : "float"}
}
}
}