Neo4jとSolr / Luceneは初めてです。Neo4jでluceneクエリを使用できることを読みました。これはどのように機能しますか?Neo4jでluceneクエリを使用する用途は何ですか?
また、提案が必要です。データを検索して分析するためのアプリケーションを作成する必要があります。which might help me Neo4j Or Solr?
Neo4Jは、レガシーインデックスの一部としてluceneを使用します。現在、Neo4Jは、ノードでのラベルの作成やノードプロパティでのインデックスの作成など、いくつかの種類のインデックスをサポートしています。
しかし、neo4jがこれらの新機能をサポートする前は、主に(そして今でも)インデックス作成にLuceneを使用していました。ほとんどの開発者は、特定のノードプロパティにluceneインデックスを作成して、luceneのクエリ構文を使用して暗号クエリ内のノードを検索できるようにします。
たとえば、ドキュメントに従ってインデックスを作成した場合、次のようにインデックスで特定の値を検索できます。
IndexHits<Node> hits = actors.get( "name", "Keanu Reeves" );
Node reeves = hits.getSingle();
実際にその発見を行っているのは、舞台裏でのルーセンです。
暗号では、次のようになります。
start n=node:node_auto_index('name:M* OR name:N*')
return n;
この場合、「M」または「N」で始まるnameプロパティを持つすべてのノードの特定のインデックスを検索しています。その一重引用符式の中には、luceneクエリ構文に従ったクエリがあります。
OK、それがNeo4Jがluceneを使用する方法です。最近のバージョンでは、これらの「レガシーインデックス」をフルテキストインデックスにのみ使用します。これがluceneの強みです。高速な等価性チェック(name = "Neo")が必要な場合は、通常のneo4jスキーマインデックスを使用します。
Solrに関しては、neo4jと組み合わせて使用されるのを見たことがありません。誰かが飛び込んで反例を提供するかもしれませんが、通常、Solrは大きなluceneインデックスの上で実行されていると思います。neo4jの場合、それはその真ん中のようなものであり、Solrを実行することが適切かどうかはわかりません。
データを検索および分析するためのアプリケーションを作成する必要がある場合、推奨はできません。アプリケーションと実行したい内容に応じて、Neo4JまたはSolrのいずれかが役立つ場合があります。一般に、グラフを表現および検索する必要がある場合は、neo4jを使用します。大量のテキストドキュメントを整理して検索する必要がある場合は、Solrをさらに使用してください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加