

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Validasi pemetaan data
<a name="full-text-search-data-validation"></a>



Data direplikasi OpenSearch dari Neptunus menggunakan proses ini:
+ Jika pemetaan untuk bidang yang dimaksud sudah ada di OpenSearch:
  + Jika data dapat dikonversi dengan aman ke pemetaan yang ada menggunakan aturan validasi data, maka simpan bidang tersebut. OpenSearch
  + Jika tidak, jatuhkan catatan pembaruan aliran yang sesuai.
+ Jika tidak ada pemetaan yang ada untuk bidang yang dimaksud, temukan OpenSearch tipe data yang sesuai dengan tipe data bidang di Neptunus.
  + Jika data bidang dapat dikonversi dengan aman ke OpenSearch tipe data menggunakan aturan validasi data, maka simpan data pemetaan dan bidang baru di. OpenSearch
  + Jika tidak, jatuhkan catatan pembaruan aliran yang sesuai.

Nilai divalidasi terhadap OpenSearch tipe yang setara atau OpenSearch pemetaan yang ada daripada tipe Neptunus. Misalnya, validasi untuk nilai `"123"` dalam `"123"^^xsd:int` dilakukan terhadap `long` tipe daripada `int` tipe.

Meskipun Neptunus mencoba mereplikasi semua data OpenSearch, ada kasus di mana tipe data sama sekali berbeda dari yang ada OpenSearch di Neptunus, dan dalam kasus seperti itu catatan dilewati daripada diindeks. OpenSearch

Misalnya, di Neptunus satu properti dapat memiliki beberapa nilai dari jenis yang berbeda, sedangkan OpenSearch di bidang harus memiliki tipe yang sama di seluruh indeks.

Dengan mengaktifkan log debug, Anda dapat melihat catatan apa yang telah dijatuhkan selama ekspor dari Neptunus ke. OpenSearch Contoh entri log debug adalah:

```
Dropping Record : Data type not a valid Gremlin type 
<Record>
```

Tipe data divalidasi sebagai berikut:
+ **`text`**— Semua nilai di Neptunus dapat dengan aman dipetakan ke teks. OpenSearch
+ **`long`**— Aturan berikut untuk tipe data Neptunus berlaku ketika OpenSearch tipe pemetaan panjang (dalam contoh di bawah ini, diasumsikan memiliki tipe pemetaan): `"testLong"` `long`
  + `boolean`— Tidak valid, tidak dapat dikonversi, dan catatan pembaruan aliran yang sesuai dijatuhkan.

    Contoh Gremlin yang tidak valid adalah:

    ```
      "testLong" : true.
      "testLong" : false.
    ```

    Contoh SPARQL yang tidak valid adalah:

    ```
      ":testLong" : "true"^^xsd:boolean
      ":testLong" : "false"^^xsd:boolean
    ```
  + `datetime`— Tidak valid, tidak dapat dikonversi, dan catatan pembaruan aliran yang sesuai dijatuhkan.

    Contoh Gremlin yang tidak valid adalah:

    ```
      ":testLong" :  datetime('2018-11-04T00:00:00').
    ```

    Contoh SPARQL yang tidak valid adalah:

    ```
      ":testLong" : "2016-01-01"^^xsd:date
    ```
  + `float`,`double`, atau `decimal` — Jika nilai di Neptunus adalah bilangan bulat yang dapat muat dalam 64 bit, itu valid dan disimpan OpenSearch dalam panjang, tetapi jika memiliki bagian pecahan, atau adalah a atau, atau lebih besar dari 9.223.372.036.854.775.807 atau lebih kecil dari -9.223.372.372.036,854.775.808, maka tidak valid dan catatan pembaruan aliran yang sesuai dijatuhkan. `NaN` `INF`

    Contoh Gremlin yang valid adalah:

    ```
      "testLong" :  145.0.
      ":testLong" :  123
      ":testLong" :  -9223372036854775807
    ```

    Contoh SPARQL yang valid adalah:

    ```
      ":testLong" : "145.0"^^xsd:float
      ":testLong" :  145.0
      ":testLong" : "145.0"^^xsd:double
      ":testLong" : "145.0"^^xsd:decimal
      ":testLong" : "-9223372036854775807"
    ```

    Contoh Gremlin yang tidak valid adalah:

    ```
      "testLong" :  123.45
      ":testLong" :  9223372036854775900
    ```

    Contoh SPARQL yang tidak valid adalah:

    ```
      ":testLong" :  123.45
      ":testLong" :  9223372036854775900
      ":testLong" : "123.45"^^xsd:float
      ":testLong" : "123.45"^^xsd:double
      ":testLong" : "123.45"^^xsd:decimal
    ```
  + `string`— Jika nilai di Neptunus adalah representasi string dari bilangan bulat yang dapat terkandung dalam integer 64-bit, maka itu valid dan dikonversi ke dalam. `long` OpenSearch Nilai string lainnya tidak valid untuk `long` pemetaan Elasticseearch, dan catatan pembaruan aliran yang sesuai dihapus.

    Contoh Gremlin yang valid adalah:

    ```
      "testLong" :  "123".
      ":testLong" :  "145.0"
      ":testLong" :  "-9223372036854775807"
    ```

    Contoh SPARQL yang valid adalah:

    ```
      ":testLong" : "145.0"^^xsd:string
      ":testLong" : "-9223372036854775807"^^xsd:string
    ```

    Contoh Gremlin yang tidak valid adalah:

    ```
      "testLong" :  "123.45"
      ":testLong" :  "9223372036854775900"
      ":testLong" :  "abc"
    ```

    Contoh SPARQL yang tidak valid adalah:

    ```
      ":testLong" : "123.45"^^xsd:string
      ":testLong" : "abc"
      ":testLong" : "9223372036854775900"^^xsd:string
    ```
+ **`double`**— Jika jenis OpenSearch pemetaannya`double`, aturan berikut berlaku (di sini, bidang “testDouble” diasumsikan memiliki `double` pemetaan): OpenSearch
  + `boolean`— Tidak valid, tidak dapat dikonversi, dan catatan pembaruan aliran yang sesuai dijatuhkan.

    Contoh Gremlin yang tidak valid adalah:

    ```
      "testDouble" : true.
      "testDouble" : false.
    ```

    Contoh SPARQL yang tidak valid adalah:

    ```
      ":testDouble" : "true"^^xsd:boolean
      ":testDouble" : "false"^^xsd:boolean
    ```
  + `datetime`— Tidak valid, tidak dapat dikonversi, dan catatan pembaruan aliran yang sesuai dijatuhkan.

    Contoh Gremlin yang tidak valid adalah:

    ```
      ":testDouble" :  datetime('2018-11-04T00:00:00').
    ```

    Contoh SPARQL yang tidak valid adalah:

    ```
      ":testDouble" : "2016-01-01"^^xsd:date
    ```
  + Floating-point `NaN` atau `INF` — Jika nilai di SPARQL adalah floating-point `NaN` atau`INF`, maka itu tidak valid dan catatan pembaruan aliran yang sesuai dijatuhkan.

    Contoh SPARQL yang tidak valid adalah:

    ```
    "  :testDouble" : "NaN"^^xsd:float
      ":testDouble" : "NaN"^^double
      ":testDouble" : "INF"^^double
      ":testDouble" : "-INF"^^double
    ```
  + bilangan atau string numerik — Jika nilai di Neptunus adalah bilangan lain atau representasi string numerik dari numnber yang dapat dinyatakan dengan aman sebagai a, maka nilai tersebut valid dan dikonversi menjadi `double` a in. `double` OpenSearch Nilai string lainnya tidak valid untuk OpenSearch `double` pemetaan, dan catatan pembaruan aliran yang sesuai dijatuhkan.

    Contoh Gremlin yang valid adalah:

    ```
      "testDouble" :  123
      ":testDouble" :  "123"
      ":testDouble" :  145.67
      ":testDouble" :  "145.67"
    ```

    Contoh SPARQL yang valid adalah:

    ```
      ":testDouble" :  123.45
      ":testDouble" :  145.0
      ":testDouble" : "123.45"^^xsd:float
      ":testDouble" : "123.45"^^xsd:double
      ":testDouble" : "123.45"^^xsd:decimal
      ":testDouble" : "123.45"^^xsd:string
    ```

    Contoh Gremlin yang tidak valid adalah:

    ```
      ":testDouble" :  "abc"
    ```

    Contoh SPARQL yang tidak valid adalah:

    ```
      ":testDouble" : "abc"
    ```
+ **`date`**— Jika jenis OpenSearch pemetaannya`date`, `date` Neptunus `dateTime` dan nilainya valid, seperti halnya nilai string apa pun yang berhasil diuraikan ke format. `dateTime`

  Contoh yang valid di Gremlin atau SPARQL adalah:

  ```
    Date(2016-01-01)
    "2016-01-01" "
    2003-09-25T10:49:41"
    "2003-09-25T10:49"
    "2003-09-25T10"
    "20030925T104941-0300"
    "20030925T104941"
    "2003-Sep-25" "
    Sep-25-2003"
    "2003.Sep.25"
    "2003/09/25"
    "2003 Sep 25" "
    Wed, July 10, '96"
    "Tuesday, April 12, 1952 AD 3:30:42pm PST"
    "123"
    "-123"
    "0"
    "-0"
    "123.00"
    "-123.00"
  ```

  Contoh yang tidak valid adalah:

  ```
    123.45
    True
    "abc"
  ```