[
http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-93?page...
]
koen handekyn commented on HSEARCH-93:
--------------------------------------
i have implemented and tested the following MapBridge that stores a Map as key values to
lucene
package upr.docstore.entity;
import java.util.Map;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.hibernate.search.bridge.FieldBridge;
public class MapBridge implements FieldBridge {
public void set(String name, Object value, Document document, Field.Store store,
Field.Index index, Float boost) {
final Map<Object, Object> map = (Map<Object, Object>) value;
for (final Map.Entry<Object, Object> entry : map.entrySet()) {
if (entry.getValue() == null)
continue;
final String propertyName = entry.getKey().toString();
final String propertyValue = entry.getValue().toString();
final Field field = new Field(propertyName, propertyValue, store, index);
if (boost != null)
field.setBoost(boost);
document.add(field);
}
}
}
index map<String, Object>
-------------------------
Key: HSEARCH-93
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-93
Project: Hibernate Search
Issue Type: New Feature
Components: engine
Affects Versions: 3.0.0.beta3
Reporter: koen handekyn
Original Estimate: 1 day
Remaining Estimate: 1 day
example class
class MyDocument {
@DocumentId
long id;
@Fields
java.util.map<String, String> metaData;
}
the @Fields annotation stores each key value pair as a lucene key value.
this allows efficient searching on loosely typed object meta data (which is typically
hard to map onto a relational database model but perfect for a lucene index)
note : this could probably be realized with a FieldBridge but a specifc annotaion could
be handy
note : ideally a MultiMap is also supported as a property can have multiple occurances in
a lucene document
--
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