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