[
https://hibernate.onjira.com/browse/HSEARCH-1076?page=com.atlassian.jira....
]
Elmer van Chastelet commented on HSEARCH-1076:
----------------------------------------------
I've made a mistake in the test case. I use the query parser, while the field is not
analyzed. After changing this, the test succeeds, and therefore the issue can be closed
for now.
The issue might still exist in particular circumstances, but I first need to know that
it's not caused by bugs in our code. I'll open a forum thread for now.
Simple entity changes not reflected in index
--------------------------------------------
Key: HSEARCH-1076
URL:
https://hibernate.onjira.com/browse/HSEARCH-1076
Project: Hibernate Search
Issue Type: Bug
Components: engine
Affects Versions: 3.4.2, 4.1.0.CR2
Environment: Unit test on Ubuntu 11.10 x64
Reporter: Elmer van Chastelet
Priority: Critical
Labels: search
Fix For: 4.1.0.CR3
I was unable to find a unit test which tests if an entity change on a searchable String
field (probably also other types) is reflected in the index. That's probably the
reason I came across this serious issue.
I have changed an existing test to see if my expectations were true, and indeed: solely
changing a String property (searchable) of an entity won't trigger an update to the
index.
I will add a unit test for this particular case. For now, the failing code from an
altered existing test:
{code:title=snippet from altered NestedEmbeddedTest.java}
s.clear();
tx = s.beginTransaction();
product = ( Product ) s.get( Product.class, product.getId() );
product.setNwField("value1");
tx.commit();
s.clear();
session = Search.getFullTextSession( s );
tx = s.beginTransaction();
QueryParser parser2 = new QueryParser( TestConstants.getTargetLuceneVersion(),
"nwField", TestConstants.standardAnalyzer );
query = parser2.parse( "value1" );
result = session.createFullTextQuery( query, Product.class ).list();
assertEquals( "change on simple string field not reflected in root index", 1,
result.size() );
tx.commit();
{code}
{code:title=addition to Product.java}
@Field(store = Store.YES)
private String nwField;
public String getNwField(){
return nwField;
}
public void setNwField(String fld){
nwField = fld;
}
{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira