[Hibernate-JIRA] Created: (HSEARCH-863) Use JBoss Logging to create i18n exceptions
by Emmanuel Bernard (JIRA)
Use JBoss Logging to create i18n exceptions
-------------------------------------------
Key: HSEARCH-863
URL: http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-863
Project: Hibernate Search
Issue Type: Improvement
Components: analyzer, directory provider, engine, infinispan, integration, mapping, massindexer, optimizer, query, serialization
Reporter: Emmanuel Bernard
This is not top priority but new code should follow this and encountered code should be migrated.
If someone is willing to take the codebase over and convert the better
{code}
@MessageLogger(projectCode = "HSEARCH")
public interface Log extends BasicLogger {
@Message( value="Unable to start serialization layer", id=82 )
SearchException unableToStartSerializationLayer(@Cause Throwable e);
}
{code}
And in the code throwing the exception
{code}
throw log.unableToStartSerializationLayer( e );
{code}
...
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 3 months
[Hibernate-JIRA] Created: (HSEARCH-812) Faceting: Possibiltiy to set behaviour (SHOULD/MUST) when selecting multiple facets should
by Elmer van Chastelet (JIRA)
Faceting: Possibiltiy to set behaviour (SHOULD/MUST) when selecting multiple facets should
------------------------------------------------------------------------------------------
Key: HSEARCH-812
URL: http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-812
Project: Hibernate Search
Issue Type: Improvement
Components: query
Affects Versions: 3.4.0.Final
Environment: -
Reporter: Elmer van Chastelet
Current implementation combines multiple facets from the same group by OR-ing them (SHOULD):
{code}
private Query createSelectionGroupQuery(FacetSelectionImpl selection) {
BooleanQuery orQuery = new BooleanQuery();
for ( Facet facet : selection.getFacetList() ) {
orQuery.add( facet.getFacetQuery(), BooleanClause.Occur.SHOULD );
}
return orQuery;
}
{code}
It might be useful to also allow AND-ing the facets.
Some examples:
When searching for publications, I want the publications where both 'Kim' and 'John' are author
When searching for recipes, I want meals with both 'tomatoes' and 'eggs'.
This is in case of fields that might have mutliple values, so its working is relying on [HSEARCH-726|https://hibernate.onjira.com/browse/HSEARCH-726].
I currently have adapted the code myself, to be able to set AND/OR as default facet combinator, but this is not using the Hibernate Search Query language contexts. This improvement should be easy to implement.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 3 months
[Hibernate-JIRA] Created: (HSEARCH-601) Allow MassIndexer to recover gracefully when individual objects won't index
by Ben Dotte (JIRA)
Allow MassIndexer to recover gracefully when individual objects won't index
---------------------------------------------------------------------------
Key: HSEARCH-601
URL: http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-601
Project: Hibernate Search
Issue Type: Improvement
Components: massindexer
Affects Versions: 3.2.0.Final
Environment: Hibernate 3.5.3, SQL Server 2005
Reporter: Ben Dotte
Some of our sites take hours to index, so it is critical that initial indexing complete even if some of the individual entities fail to index properly. Right now, it appears that the MassIndexer dies if any individual entity throws an exception during indexing, and does not complete indexing for that type.
I have a workaround for now by overriding EntityConsumerLuceneworkProducer with my own index() method that catches and logs exceptions from docBuilder.createAddWork():
private void index( Object entity, Session session ) throws InterruptedException {
Serializable id = session.getIdentifier( entity );
Class clazz = Hibernate.getClass( entity );
DocumentBuilderIndexedEntity docBuilder = documentBuilders.get( clazz );
TwoWayFieldBridge idBridge = docBuilder.getIdBridge();
String idInString = idBridge.objectToString( id );
//depending on the complexity of the object graph going to be indexed it's possible
//that we hit the database several times during work construction.
try
{
AddLuceneWork addWork = docBuilder.createAddWork( clazz, entity, id, idInString, true );
backend.enqueueAsyncWork( addWork );
}
catch (Exception e)
{
log.error("Error indexing " + clazz + " id " + id, e);
}
}
This has the added benefit that the object type and id that errored is logged, where that can be tough to track down otherwise.
That may not be the best solution in general since it could hide exceptions from Hibernate Search itself.
--
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
14 years, 3 months