当前位置: 首页 > 知识库问答 >
问题:

仅索引来自mongoDB的ElasticSearch中的某些字段

舒飞捷
2023-03-14

我使用elasticsearch 0.90.2和elasticsearch river mongodb 1.7.0从mongodb的oplog中检索数据。在我试图索引的集合中,我有数千条结构化记录,让我们把它们命名为“field1”、“field2”、“field3”字段10'

有没有办法只索引“field1”和“field2”?这些是字符串还是日期对象有关系吗?

谢啦

共有1个答案

袁元明
2023-03-14

我从未使用过River插件,但我知道的一件事是您可以通过映射或模板控制字段的索引。对于每个字段,您可以在映射或模板中指定属性“index”到三个不同的选项:分析、not_analyzed、否。这是官方留档。

设置为“分析”,以便在使用分析器将字段分解为标记后,对其进行索引和搜索。not\u analysis意味着它仍然可以搜索,但不经过任何分析过程或分解为令牌。否意味着它根本无法搜索(作为单个字段;它可能仍包含在\u all中)。设置为“否”将禁用include\u in\u all。默认为已分析。

如果您希望您的字段仍然可以搜索,请选择“not\u analysed”,否则选择“no”。字段的类型应该无关紧要。

下面是一个来自官方网站的映射示例

{
    "tweet" : {
        "properties" : {
            "user" : {"type" : "string", "index" : "not_analyzed"},
            "message" : {"type" : "string", "null_value" : "na"},
            "postDate" : {"type" : "date"},
            "priority" : {"type" : "integer"},
            "rank" : {"type" : "float"}
        }
    }
}
 类似资料:
  • 问题内容: 我正在使用Elasticsearch索引我的文档。 是否有可能指示它仅返回特定字段,而不是它存储的整个json文档? 问题答案: 是的 使用源过滤器。如果您使用JSON搜索,它将看起来像这样: 在ES 2.4及更低版本中,您还可以在search API中 使用fields选项: ES 5+中已弃用此功能。而且,源过滤器更强大!

  • 我知道这是一个非常简单的问题,但我似乎找不到一个令人满意的答案。另外,我对Mongo完全是个新手。这显然无济于事。 假设我收藏了...我希望将mongo中的$toupper函数应用于具有_id和的记录的字段,而不是应用于具有的记录。 我一直在玩Mongo的聚合(针对我在google中发现的),但我得到的最多的是一个返回“name”字段的查询,但是: 它返回数据库中的所有记录(不仅是ObjectId

  • 我对Elasticsearch完全陌生 我知道elasticsearch的索引不是mongobd的索引,它们就像mongodb的集合 我在elasticsearch中有一些索引(相当于MongoDB的集合),我想确保其中的特定字段将被索引(检索它们的速度将得到提高等等)。 我该怎么做? 在mongoDB中,它非常简单,因为我可以在集合上使用createindex()和ensureindex()方法

  • 我有一个数组:int[]arr={1,2,3,4,5,6} 我需要打印一些从1到5的索引值,为什么我不能在java中这样做?system.out.println(ARR[1,5])那么该如何完成呢?

  • 本文向大家介绍MongoDB的索引,包括了MongoDB的索引的使用技巧和注意事项,需要的朋友参考一下 1、简介 它就像是一本书的目录,如果没有它,我们就需要对整个书籍进行查找来获取需要的结果,即所说的全盘扫描; 而有了目录(索引)之后就可以通过它帮我们定位到目标所在的位置,快速的获取我们想要的结果。 2、演示 第一步,向用户集合users中插入100W条数据 LZ的渣渣I3和4G内存总共耗时了4

  • 我的mongodb中有一个收藏,如下所示 我要做的是根据优先级的值(如我应该得到的)获取字段