Separate indexes by field (foreign key)
---------------------------------------
Key: HSEARCH-470
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-470
Project: Hibernate Search
Issue Type: New Feature
Components: query
Affects Versions: 3.1.1.GA
Reporter: Dobes Vandermeer
Priority: Minor
In our system we always constrain searches by a particular foreign key so that the search
only returns results that are related to the object being viewed at the time.
I think it would greatly decrease the memory usage of our queries if we could actually
store a separate FSDirectory for each value of this key.
As an example, consider a multi-user email system like GMail where users can only access
their own email but are all using the same web application.
In this case it would be useful to have a separate search index for each user rather than
one large shared one because any given search will always look only at the records
associated with that user, yet it will still allocate a potentially enormous
"norms" array with one entry for every single email in the entire system.
With this improvement it would be possible to have smaller indexes and smaller norms in
systems where despite sharing the same hibernate configuration and session factory,
searches are always tied to a particular foreign key.
Looking at the sharding system I can see that a sharding strategy wouldn't do the
trick because it always queries all the shards but in this case we want queries to apply
to only one shard.
I think it is likely that there are many possible uses for this feature, as this use case
seems to me like it would be fairly common.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira