OrientDB ve birlikte gelen gremlin konsolunu kullanıyorum.OrientDB: gremlin kullanarak metin arama
Metin özelliğinde bir deseni aramaya çalışıyorum. EbodyText özelliği ile e-posta köşeleri var. Sorun, SQL gibi komut ve Gremlin dili ile sorgulama sonucunun oldukça farklı olmasıdır.
ben gibi sorgu gibi SQL kullanıyorsanız:
select count(*) from Email where eBodyText like '%Syria%'
o 24.
döndürür Ama gibi cin konsolda sorgulamak durumunda:
g.V.has('eBodyText').filter{it.eBodyText.matches('.*Syria.*')}.count()
o hiçbiri döndürmez.
Farklı bir anahtar kelime 'memo' ile aynı sorguları, SQL tarafından 161, ancak gremlin tarafından 20 döndürür.
Bu neden böyle davranıyor? Gremlin komutunun sözdizimi ile ilgili bir sorun var mı? Gremlin'de metin aramak için daha iyi bir yolu var mı?
Python sürücüsü 'pyorient' kullanan yükleme komut dosyasında özellikleri ayarlama sorunu olabilir. Python script used to upload the dataset
Yardımlarınız için teşekkürler.
Bu ilginç. Benim sürümüm 2.1.13'tür, ama bence sorun bu değil. Metin kodlama sorunu mu olmalı? ya da uzunluk belki? – NeoJi
Yeni yükledim ve 2.1.15 ile aynı sorunu yaşıyorum. Daha fazla bilgiye ihtiyacın olursa lütfen bildirin ve teşekkürler ~ !! – NeoJi
@NeoJi Aşağıdaki sorguların tüm sonuçlarını paylaşabilirsiniz eBodyText 'e% eposta%' ve gVhas ('eBodyText') gibi e-postalar arasından seçim yapın filtre {it.eBodyText.matches ('. * Syria. *') }? –