私はfull-text-indexes
neo4jグラフデータベースを検索するために使用していました。ただし、ユーザーが間違ったスペルを入力した場合や、クエリがどの結果にも一致しない場合に備えて。そのような場合にこれを処理する方法またはdid you mean
一種の機能はありますか?
また、ユーザーが検索しているクエリに基づいて、検索をよりスマートにするにはどうすればよいでしょうか? SearchKickに出くわしましたが、neography との統合はありません。
私はfull-text-indexes
neo4jグラフデータベースを検索するために使用していました。ただし、ユーザーが間違ったスペルを入力した場合や、クエリがどの結果にも一致しない場合に備えて。そのような場合にこれを処理する方法またはdid you mean
一種の機能はありますか?
また、ユーザーが検索しているクエリに基づいて、検索をよりスマートにするにはどうすればよいでしょうか? SearchKickに出くわしましたが、neography との統合はありません。
lucene クエリにあいまいさを導入できます。'~' 記号をクエリに追加して要因を指定することで、これを行うことができます。たとえばname:mistqke~0.8
、テキスト "mistake" を検索する必要があります。あいまい係数は 0 から 1 の間です。値が 1 に近いほど一致度が高くなります。
ワイルドカードとファジー クエリを組み合わせたい場合は、次のようなものを使用できます。
START n=node:index('name:mistqke~0.8 or name:*mistqke*')
RETURN DISTINCT n;
lucene クエリの「OR」と RETURN 句の「DISTINCT」に注意してください。