-
Compass 2.1 Released (6 messages)
- Posted by: Shay Banon
- Posted on: November 03 2008 03:32 EST
Compass, a Java Search Engine Framework simplifying the integration of google like search capabilities has released version 2.1. Major features include: JSEM, JSON to Search Engine Mapping. On top of the current OSEM (Object to Search Engine Mapping), XSEM (Xml to Search Engine Mapping), and RSEM (low level Document like structure to Search Engine Mapping), Compass now allows to easily map JSON content into the search engine in a declarative manner. Compass can now be configured using JSON both for plain configuration and mapping decelerations. Lucene 2.4 has been integrated with Compass, bringing performance and concurrency improvements. Compass also provides faster and asynchronous cache management. The ability to add and remove mappings, as well as configuration settings on the fly using Compass#rebuild() support. With OSEM, Compass now supports prefix definition for component mappings, lazy reference collection mapping, faster reflection based operations, support for ENUM as components, and many bug fixes. Support for mapping aware search queries has been enhanced, supporting inheritance and polymorphism as well as many other features. Queries like: Customer.fullName.firstName are now possible where Customer extends Person that defined FullName. Compass GPS, with its main feature allowing to simply integrate Compass with ORM libraries has been enhanced as well. Hibernate integration has been enhanced and several problems fixed (the dreaded collection not processed by flush exception). Eclipse Link has been officially added to the support ORM libraries, on top of Hibernate (core + JPA), OpenJPA, and TopLink. GenericJpaHelper has been added to allow for JPA implementation agnostic code written using Compass. Support for iBatis has been enhanced as well to use the latest iBatis release. Compass Needle, Compass integration with data grid based products has been enhanced as well. Compass now supports collocated indexing and distributed search on top of GigaSpaces, write behind indexing using Coherence cache store, and improved Terracotta support for large indexes. The features are built on top of the current ones mainly allowing to store the index automatically index data grid content, and perform google like search queries on it. Enjoy!.Threaded Messages (6)
- Re: Compass 2.1 Released by Mark N on November 03 2008 23:04 EST
- Re: Compass 2.1 Released by Shay Banon on November 04 2008 03:38 EST
-
Re: Compass 2.1 Released by Mark N on November 04 2008 08:20 EST
-
enambe unmarshall by Aravind Reddy on November 04 2008 09:36 EST
- Re: enambe unmarshall by Mark N on November 04 2008 10:55 EST
- Re: Compass 2.1 Released by Shay Banon on November 04 2008 12:05 EST
-
enambe unmarshall by Aravind Reddy on November 04 2008 09:36 EST
-
Re: Compass 2.1 Released by Mark N on November 04 2008 08:20 EST
- Re: Compass 2.1 Released by Shay Banon on November 04 2008 03:38 EST
-
Re: Compass 2.1 Released[ Go to top ]
- Posted by: Mark N
- Posted on: November 03 2008 23:04 EST
- in response to Shay Banon
Any good links on searching a complex object model (persisted via Hibernate EntityManager and Spring)? I've been looking at the documents and just now at the examples and I am not clear on how do declare what Object i am searching and what is returned. -
Re: Compass 2.1 Released[ Go to top ]
- Posted by: Shay Banon
- Posted on: November 04 2008 03:38 EST
- in response to Mark N
Once you set up your Searchable mappings and configured Compass with Hibernate, then things should start getting indexed for you. This means changes done through Hibernate will be indexed automatically, and you can call the CompassGps#index() operation in order to completely reindex your data. Regarding searching, you should check CompassSession#queryBuilder(). It has several builder queries (such as the a queryString, boolean queries and so on). If you use a query string, once you use the "dot path" notation, for example, Customer.name, then your search will be narrowed just to the Customer classes. You can also use CompassQuery#setTypes in order to narrow down the search to specific types. -
Re: Compass 2.1 Released[ Go to top ]
- Posted by: Mark N
- Posted on: November 04 2008 08:20 EST
- in response to Shay Banon
Thx Shay. So if do "Customer....) then will that be returned in the CompassHits? or will it be objects Id? Or? -
enambe unmarshall[ Go to top ]
- Posted by: Aravind Reddy
- Posted on: November 04 2008 09:36 EST
- in response to Mark N
If unmarshall is enabled then u can get the Customer object. I think, in 2.1, the object graph can be lazy loaded as well..In my app, i always work with the id though -
Re: enambe unmarshall[ Go to top ]
- Posted by: Mark N
- Posted on: November 04 2008 10:55 EST
- in response to Aravind Reddy
If unmarshall is enabled then u can get the Customer object. I think, in 2.1, the object graph can be lazy loaded as well..In my app, i always work with the id though
Thx. I think i would prefer to use the ID too. Now for some examples. :) -
Re: Compass 2.1 Released[ Go to top ]
- Posted by: Shay Banon
- Posted on: November 04 2008 12:05 EST
- in response to Mark N
Its up to you. You basically have two modes in Compass. With supportUnamrshall set to true (the default), you get the object reconstructed from the index (as much as possible, basically, using STOREd properties). If you set supportUnmarshall to false, you only get the object with its ids initialized. You can still get STOREd properties using the Resource interface.