Hi!
I'm trying to implement what was discussed in this thread.
I have a FieldBridge that looks like this:
Code:
public class MyStringBridge implements FieldBridge {
@Override
public void set(String name, Object value, Document document, LuceneOptions luceneOptions) {
if (value != null && value instanceof Iterable) {
Iterable<String> names = (Iterable<String>) value;
for (String val : names) {
luceneOptions.addFieldToDocument(name, val, document);
}
}
}
}
I defined a property in the bean:
Code:
@Field
@FieldBridge(impl = MyStringBridge.class)
private Set<String> alternativeNames;
The problem is that everytime I try to search, I get following exception:
Code:
org.hibernate.search.SearchException: FieldBridge class football.util.search.MyStringBridge does not have a objectToString method: field alternativeNames in football.beans.federal.Country
at org.hibernate.search.engine.DocumentBuilderIndexedEntity.objectToString(DocumentBuilderIndexedEntity.java:682) ~[hibernate-search-3.4.1.Final.jar:3.4.1.Final]
at org.hibernate.search.query.dsl.impl.ConnectedMultiFieldsTermQueryBuilder.buildSearchTerm(ConnectedMultiFieldsTermQueryBuilder.java:138) ~[hibernate-search-3.4.1.Final.jar:3.4.1.Final]
at org.hibernate.search.query.dsl.impl.ConnectedMultiFieldsTermQueryBuilder.createQuery(ConnectedMultiFieldsTermQueryBuilder.java:92) ~[hibernate-search-3.4.1.Final.jar:3.4.1.Final]
at org.hibernate.search.query.dsl.impl.ConnectedMultiFieldsTermQueryBuilder.createQuery(ConnectedMultiFieldsTermQueryBuilder.java:78) ~[hibernate-search-3.4.1.Final.jar:3.4.1.Final]
at football.service.SearchManager.findCountry(SearchManager.java:68) ~[classes/:na]
I really don't know what I did wrong here.
Thanks in advance for help!