当我们在插入文档时没有明确添加时,elasticsearch确保_id字段是唯一的

时间:2018-04-15 12:58:03

标签: elasticsearch

我有一些弹性搜索索引,其中我需要保持_id字段在所有这些索引中唯一,因为我需要在其他索引文档中使用相同的参考,如果我没有明确定义_id字段它是否确保唯一性跨所有索引,类似于mongodb _id字段,这在所有集合中都是唯一的(mongodb通过使用时间戳概念来实现) 对于EX - 当我创建一个弹性搜索文档并且未明确定义_id时,我在_id字段中获得了数据 喜欢

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:popupTheme="@style/AppTheme.PopupOverlay" />

            <FrameLayout
                android:id="@+id/contentFrame"
                android:layout_width="match_parent"
                android:layout_height="match_parent" />

        </LinearLayout>

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab_add_counter"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|end"
            android:layout_margin="@dimen/fab_margin"
            app:fabSize="normal"
            app:layout_anchor="@id/contentFrame"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            app:layout_anchorGravity="bottom|right|end" />

    </RelativeLayout>

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_home"
        app:menu="@menu/activity_home_drawer" />

</android.support.v4.widget.DrawerLayout>

1 个答案:

答案 0 :(得分:1)

是的,它对Elasticsearch 6.x及以上版本是独一无二的。 对于先前版本&lt; 6.x中它是_uid(_type和_id的组合)

Es official link