0

私たちのアプリケーションでは、アプリケーションを使用して(アップロードされたデータのインデックスを作成するためにsolrを使用している)各ユーザーのインデックスデータを何らかの方法で分離したいと思います。それは可能ですか?

インデックス付けされるすべてのドキュメントのschema.xmlとドキュメント構造は同じです。セキュリティ上の理由から、分離したいだけです。

明確化:SolrにはWebアプリからのみアクセスできることを忘れました。エンドユーザーがSolrに直接接続することはありません。

4

2 に答える 2

2

allowed_user_ids少数のユーザーのみが各ドキュメントにアクセスできる場合は、ドキュメントへのアクセスを許可されているユーザーIDの複数の値のフィールドを保持できます。次に、user_idでフィルタークエリを実行して、アクセスを制限します。

公開ドキュメントと制限付きドキュメントの両方がある場合は、すべてのuser_idを公開ドキュメントに保存する代わりに、フィールドis_publicを保持して、公開ドキュメントに対してのみtrueに設定できます。制限されたドキュメントについては、でフィルタクエリを使用してallowed_user_idsください。

于 2013-03-27T00:15:08.347 に答える
0

Luceneの検索スペースフィルター機能を使用してみてください。提供された基準に基づいて、クエリの検索に使用できるドキュメントセットを制限します。

基準は2つの方法で構築できます。

1)他のLuceneクエリと同じように:Lucene Filtered Query

2)フィルターのインスタンスとしてドキュメントセットをIndexSearcherに渡します

于 2013-03-27T03:42:30.980 に答える