2

すべてのフィールドでノード インデックスをクエリしようとしています。これは私がうまくいくと思ったものです:

idx = db.node.indexes.get('myindex')
idx.query('*:search_query')

しかし、これは結果を返しません。ただし、これは機能します

idx = db.node.indexes.get('myindex')
idx.query('*:*')

そして、期待どおりにインデックス内のすべてのノードを返します。最初のバージョンがまったく機能すると仮定するのは間違っていますか?

4

1 に答える 1

1

最初のバージョンが機能することは期待していませんが、2番目のバージョンが機能することに驚いています。Neo4jは、このLucene構文を使用してこれらのクエリを解析します-ワイルドカードフィールドについては何も表示されません。代わりに、フィールドを削除して、暗黙の「すべてのフィールド」を検索します。

プラグ-Luceneクエリ(Neo4jと互換性があります)を構築する簡単な方法については、lucene-querybuilderを確認してください。これは、neo4j-rest-clientneo4djangoによって使用されます。

編集:

存在すると思っていた「すべてのフィールド」の暗黙的な検索のサポートが見つからないようです-ごめんなさい!クエリにすべてのフィールドを手動で含める必要があると思います(たとえば、「name:falmarri ORuserType:falmarri」)。

于 2013-01-04T04:01:13.673 に答える