1

タイトル通り。注釈付きのPOJOを作成しました。その中に、インデックスを付けて検索したい@NodeEntity識別子として使用したいフィールドがあります。long

POJOを使用しneo4jTemplateて保存すると、問題なく保存され、neo4jがクラスのインデックス名を作成しているのがわかりますが、インデックスに対してクエリを実行しようとすると、何も表示されません。

intとの両方でフィールドを試しましたlongが、どちらも機能しないようです。1クエリを実行するときに、、、の両方を試しましたが、ノードを返すものは1lありません。"1"

int値がまたはであるキー/値を使用してインデックスを作成できlong、それらが正常に機能することを確認できます。

他の誰かがこれに遭遇しましたか?

4

1 に答える 1

1

SDNでは、プリミティブが数値としてインデックス付けされる可能性があります。これは、Lucene(neo4jで選択されるデフォルトのインデックス)で特別な意味を持ち、同様の方法でクエリを実行する必要があります。つまり、数値範囲クエリを使用します。SDNでどのように表示されるかはわかりませんが、org.apache.lucene.search.NumericRangeQueryを使用してQueryオブジェクトを作成し、プリミティブの範囲(intやlongなど)を検索することで、クエリを実行できます。

于 2012-06-17T15:43:41.520 に答える