1

OrientDB と付属の gremlin コンソールを使用しています。

テキストプロパティでパターンを検索しようとしています。ebodyText プロパティを持つ Email 頂点があります。問題は、SQL のようなコマンドと Gremlin 言語でクエリを実行した結果がまったく異なることです。

次のような SQL のようなクエリを使用する場合:

select count(*) from Email where eBodyText like '%Syria%'

24 を返します。

しかし、次のようなgremlinコンソールでクエリを実行すると:

g.V.has('eBodyText').filter{it.eBodyText.matches('.*Syria.*')}.count()

何も返しません。

異なるキーワード「メモ」を使用した同じクエリは、SQL では 161 を返しますが、gremlin では 20 を返します。

なぜこれはこのように振る舞うのですか?gremlin コマンドの構文に問題はありますか? グレムリンでテキストを検索するより良い方法はありますか?

Python ドライバー 'pyorient' を使用するアップロード スクリプトのプロパティの設定に問題がある可能性があります。 データセットのアップロードに使用される Python スクリプト

ご協力いただきありがとうございます。

ここに画像の説明を入力 ここに画像の説明を入力

4

1 に答える 1

3

2.1.15 で試してみましたが、問題はありませんでした。

これらは記録です。

ここに画像の説明を入力

ここに画像の説明を入力

ここに画像の説明を入力

ここに画像の説明を入力

編集済み

DB にいくつかの頂点を追加しましたが、現在count()は 11 です

クエリ:

g.V.has('eBodyText').filter{it.eBodyText.contains('Syria')}.count()

出力:

==>11

それが役に立てば幸い。

于 2016-04-13T14:49:36.847 に答える