Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
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
, ataudecimal
— 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 untuklong
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 pemetaannyadouble
, aturan berikut berlaku (di sini, bidang “testDouble” diasumsikan memilikidouble
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
atauINF
— Jika nilai di SPARQL adalah floating-pointNaN
atauINF
, 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 OpenSearchdouble
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 pemetaannyadate
,date
NeptunusdateTime
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"