On May 11, 2012, at 6:07 PM, Sanne Grinovero wrote: > I was expecting you to argue about it,
:-) > and therefore I concede that > some docs clarification at least is strongly required, at the very least > but I disagree on the expectations: > > I see a fundamental difference in behaviour expectations between > a) "sync up database and index" > b) "index Entries A and B now" > > In the first case it's up to Search to figure out what the correct set > of data is, and this would obviously be defined by the conventional > rules such as "all what's in the database", and implicitly by the > filter. > > In the second case the user is explicitly demanding to index A and B; > just think about the meaning of using #index .. it should never be > needed if everything was perfectly in sync, so the intention of the > method is clearly an explicit override. It is needed (unless you use the mass indexer) to build an initial index or rebuild an existing one. Also if I call #index I say "index this entity considering all the configuration which exists for this entity" (meaning the defined fields, but also defined interceptors). How else can I rebuild the index for the blog example? > Makes sense? No > Why would anyone use #index BTW ? Fair point. However, atm we still offer both alternatives (mass indexer and explicit #index) and I would argue they should behave the same way. See section 6.3. Rebuilding the whole index in the docs. --Hardy > > Sanne > > On 11 May 2012 16:54, Hardy Ferentschik <ha...@hibernate.org> wrote: >> Really? I would argue differently. >> >> Let's take the blog example where I only want to index blog entries which are >> published. Adding the interceptor and relying on automatic indexing will not >> index un-published entries. Great. >> If I, however, want/ have to re-index my blog entries via the API the >> interceptor does not apply? Why? >> >> IMO the interceptor has to apply for automatic index updates as well as >> explicit index request. Conceptually >> (for a user) there is no difference between explicitly calling >> FulltextSession#index or auto-indexing. That's >> exactly the type of confusion the user on the forum experienced. >> >> I think we should change this behavior. >> >> --Hardy >> >> On May 11, 2012, at 5:23 PM, Sanne Grinovero wrote: >> >>> As a user if I were asking to Search *explicitly* to index my entity, >>> I would not be pleased in the framework to override my request... I >>> think the code is correct, maybe it's worth pointing this out at least >>> on #index() javadoc? >>> >>> Sanne >>> >>> On 11 May 2012 14:48, Hardy Ferentschik <ha...@ferentschik.de> wrote: >>>> Hi, >>>> >>>> quick question regarding the indexing interceptor. Why is WorkType.Index >>>> mapped to IndexingOverride.APPLY_DEFAULT - >>>> https://github.com/hferentschik/hibernate-search/blob/master/hibernate-search-engine/src/main/java/org/hibernate/search/backend/impl/TransactionalWorker.java#L132 >>>> >>>> Shouldn't it be the same as ADD? Am I missing something? I am asking, >>>> because of https://forum.hibernate.org/viewtopic.php?f=9&t=1015173 >>>> >>>> --Hardy >> _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev