0

neo4jシェルでインデックスタイプをexactからfulltextに設定しようとしていたので、luceneクエリで大文字と小文字を区別しない検索を行うことができます。だから私はこのコマンドを使用しました:

index --set-config Destination type fulltext

しかし、うまくいきませんでした。まだ大文字と小文字を区別しない検索を行うことができなかったので、_blueprints:type や to_lower_case などの他の値をいじって変更しました。それは何の役にも立ちませんでした。

これで、名前の値の最初の文字が無視されるようになりました (変です!)。たとえば、「London」を検索して「Lon」と入力すると、何も返されません。しかし、「ond」と入力すると、ノードが返されます。すべてのノードで同じです。

すべてを正常に戻してみました。役に立ちませんでした。

私は何を台無しにしましたか?私は何が欠けていますか?

データベースとの通信に Everyman PHP ライブラリを使用しています。

4

2 に答える 2

1

「to_lower_case」プロパティで新しいインデックスを作成しました。これで問題は解決すると思います。文字列をクエリに挿入する前に小文字に変換するだけです。うまくいくようです。

于 2012-12-06T21:42:52.307 に答える
0

後で構成を設定しても、すでにインデックスが作成されている値は更新されません (シェルが指摘しているように)。「to_lower_case=true」を使用してインデックスを作成した場合、クエリだけでなく追加でも値が小文字に変換されます。Index#get を呼び出すには、自分で小文字にする必要があります。

于 2012-12-09T21:00:13.327 に答える