We have a system that uses a 'rough search' on any other system using an interface that does Java objects Set returns to After getting the search results, I should be able to further filter the Java objects as a result of specific criteria describing the status of the results (for example, all objects return from the initial objects where xy> z & amp; Amp; ab == c).
Each time partially user is configurable, criteria for filtering a group of items means that users will be able to select values and categories for the match, but with those features There will be a certain set you can choose.
For every search in the data set, & lt; = 10,000 is likely to be an object, the search will be manually executed by the application user base, possibly about 2000 times a day (almost) not in the day. It is perhaps worth noting that all objects present in the result set know domain object classes, which contain hibernate and JPA annotations that describe their structure and relationship.
Possible Solutions
Head over me I can think of 3 ways to do this:
- Initial results for each search object set in our database To do the use of Hibernate, then re-query them to use the right criteria.
- Use an in-memory database (such as hsqldb?) To query and refine the initial results set.
- Type some custom code that sets the initial result set and removes the desired records. Option 1
Option 1 includes multiple networks to carry and fly in a physical database (Oracle 10G), resulting in many networks and Disk Activity This requires separating the results of each search from other results sets to ensure that different searches do not interfere with each other.
Option 2
Option 2 looks like a good idea in principles because it will allow me to do better queries in the memory and the results will not require the solidarity of the data which only The search was abandoned after the end. The gut feeling that it can be very good demonstration, but there may be consequences in large memory overheads (which is fine because we can be very flexible on the amount of memory our JVM).
Option 3
Option 3 can be very executable but to avoid any type of code I write, some careful examination is required, The time taken for the flexibility and strengthening will probably be prohibitive.
I do not have time to prototype all 3 ideas, so I am considering 3 options above people to comment, and I have not considered any other ideas , Which is to help me decide which idea might be most appropriate. I am currently inclined towards Option 2 (in Memory Database), so the POOs will be eager to hear from people with experience of inquiry in memory.
Hopefully I have described the situation in adequate detail, but do not hesitate to ask that further information is needed to better understand the scenario.
Cheers,
AD
Comments
Post a Comment