]
Hardy Ferentschik commented on HSEARCH-221:
-------------------------------------------
Hi, I just would like to revive this thread before implementing a particular solution.
I agree with Emmanuel that the original patch feels too intrusive. On the other hand I am
not sure whether the proposed AnalyzerDiscriminator solve the problem in a general case.
For me the most compelling reason for passing dynamic information into the Analyzer is the
multi-language application as discussed in this issue. The proposed AnalyzerDiscriminator
solution assumes that the language parameter is part of the the entity to be indexed, but
I am wondering if this not too limiting. Maybe the language is given by a user preference
or you could imagine an application where the same application is used to serve different
countries and the language is determined by the host (myapp.de vs. myapp.se vs.
Get Lucene Analyzer runtime (indexing)
--------------------------------------
Key: HSEARCH-221
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-221
Project: Hibernate Search
Issue Type: Improvement
Affects Versions: 3.0.1.GA
Reporter: Kenneth Christensen
Fix For: 3.1.0
Attachments: AddLuceneWork.java, diff-jms.txt, diff.txt, DocumentBuilder.java,
EntityInstanceAnalyzer.java, Flyer.java, Flyer.java, Flyer.java-JMS,
hibernate-search-v2.zip, hibernate-search.zip, LuceneWorker.java, TestBean.java
I'm writing a multi-language application and I have choose to use Hibernate Search.
But it looks like Hibernate Search have some limitations in multi-language applications.
I need to use the SnowballAnalyzer and create the instance at runtime because I only know
the language at runtime.
It really looks like Hibernate Search don't support runtime created analyzers for
entity instances.
I have extended Hibernate Search to support the above issue - maybe you could include the
code in Hibernate Search or implement something similarly.
I really need this feature/improvement :-)
Please see attached files.
Flyer - Entity used in test
TestBean - SessionBean used in test
org.hibernate.search.backend.impl.lucene.LuceneWorker - Added code to support entity
instance analyzer, see performWork(AddLuceneWork work, DirectoryProvider provider) and
add(Class entity, Serializable id, Document document, DirectoryProvider provider, Analyzer
analyzer).
org.hibernate.search.backend.AddLuceneWork - Added code to support analyzer.
org.hibernate.search.engine.DocumentBuilder - Added code to support entity instance
analyzer, see addWorkToQueue(Class entityClass, T entity, Serializable id, WorkType
workType, List<LuceneWork> queue, SearchFactoryImplementor
searchFactoryImplementor).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: