Compare the publications in

 http://researchr.org/alias/dragan-gasevic

with

 http://researchr.org/profile/dragangasevic/publications

All the 2011 publications of Gasevic have been identified and should occur in his profile publications list. However, I have identified some of them after the launch of the faceted search version of researchr. It seems that these publications have not been re-indexed. Probably because only the Author objects and not the publications have been touched. However, they have been added to the publication list.

Submitted by Eelco Visser on 15 July 2012 at 08:58

On 15 July 2012 at 08:58 Eelco Visser tagged @elmer

On 15 July 2012 at 08:59 Eelco Visser tagged 64

On 15 July 2012 at 15:16 Elmer van Chastelet commented:

Actually, the reindex does not fail, but the difference between those pages is that the alias page uses the PublicationList of the Alias (Alias.list), where the profile page uses the Person’s PublicationList (Person.list).

So it seems that the Person.list is not updated properly, probably also prior to the faceted search version.


On 18 July 2012 at 22:17 Eelco Visser commented:

Right. I have turned off some of the refresh code that updates publication lists on various events in order to optimize addition of publications to bibliographies.

After adding a publication it does not show up in the publication list of the Alias for the authors of the publication, e.g. http://dutieq.st.ewi.tudelft.nl/publication/Visser2012

I’ll try to revert this, hopefully without ruining the bibliography addition performance.

Bigger question: can we do the faceting of publication lists without the PublicationList type.


On 19 July 2012 at 11:02 Elmer van Chastelet commented:

Just to give you a better picture regarding index updating. A searchable entity is represented as document in the index. The document of an entity instance gets replaced whenever a searchable property is marked dirty by hibernate search (i.e. changing/touching a non-searchable property won’t trigger reindexing).
This means that any change to a simple searchable property will trigger reindexing of the whole entity (changing a document in Lucene means replacing the whole document).

Searchable reference/composition properties will only be marked dirty when the other side of the relation gets updated. Hibernate search can only determine this when there is an inverse relation declared on that property!

Derived properties also need special attention. In general, these will actually never be marked dirty by hibernate search. A change in the value of an expression that represents a derived property will only be propagated to the index whenever at least one other searchable property changes (i.e. when Hibernate search determines that an entity instance has one or more dirty properties).

Bigger question: can we do the faceting of publication lists without the PublicationList type.

I would say we can. But, with the above in mind, we need to make sure that the index gets updated properly.

The targeted results are Publications in most pages. Any constraint that is needed to filter the right publications (e.g. matching authors.name: +someName or matching bibliographies.id: +someId) should thus be indexed and updated properly. So for example, if the property Publication.bibliographies is not part of an inverse relation, we need to manually ‘touch’ the publication so a searchable property gets dirty.

But instead of using a workaround (changing a searchable property) to force reindexing of an entity instance, it would be better to have a reindex method for each entity. I’ll add this functionality in WebDSL.


On 19 July 2012 at 21:19 Eelco Visser tagged bibliography

On 19 July 2012 at 21:19 Eelco Visser removed tag 64

On 19 July 2012 at 21:19 Eelco Visser tagged 64

On 4 January 2013 at 15:12 Eelco Visser removed tag bibliography

On 4 January 2013 at 15:13 Eelco Visser removed tag 64

Log in to post comments