|
Hi all,
while reviewing the OFBiz code that implements the integration with Lucene I have noticed some inconsistent usage of the Lucene Version: some code sets the version to 30, 34, 35 while the current version we are using in OFBiz is 35 (aka Lucene 3.5); is this done intentionally or it is a result of incomplete upgrades (as I suspect)? Here is the code that I would like to commit to fix the issue (if it is an issue), that will also make it easier to perform new upgrades: [*] What do you think? All tests pass with this change but I have very few experience of this integration and I would appreciate your feedback. Thanks, Jacopo [*]: Index: applications/content/src/org/ofbiz/content/search/SearchWorker.java =================================================================== --- applications/content/src/org/ofbiz/content/search/SearchWorker.java (revision 1374283) +++ applications/content/src/org/ofbiz/content/search/SearchWorker.java (working copy) @@ -58,6 +58,8 @@ public static final String module = SearchWorker.class.getName(); + public static final Version LUCENE_VERSION = Version.LUCENE_35; + public static Map<String, Object> indexTree(LocalDispatcher dispatcher, Delegator delegator, String siteId, Map<String, Object> context, String path) throws Exception { Map<String, Object> results = FastMap.newInstance(); GenericValue content = delegator.makeValue("Content", UtilMisc.toMap("contentId", siteId)); @@ -130,8 +129,8 @@ // Now create IndexWriter writer = null; long savedWriteLockTimeout = IndexWriterConfig.getDefaultWriteLockTimeout(); - Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_34); - IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_34, analyzer); + Analyzer analyzer = new StandardAnalyzer(LUCENE_VERSION); + IndexWriterConfig conf = new IndexWriterConfig(LUCENE_VERSION, analyzer); try { IndexWriterConfig.setDefaultWriteLockTimeout(2000); @@ -176,8 +175,8 @@ public static void indexContent(LocalDispatcher dispatcher, Delegator delegator, Map<String, Object> context, GenericValue content, String path) throws Exception { Directory directory = FSDirectory.open(new File(getIndexPath(path))); long savedWriteLockTimeout = IndexWriterConfig.getDefaultWriteLockTimeout(); - Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_35); - IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_35, analyzer); + Analyzer analyzer = new StandardAnalyzer(LUCENE_VERSION); + IndexWriterConfig conf = new IndexWriterConfig(LUCENE_VERSION, analyzer); IndexWriter writer = null; try { try { @@ -227,8 +226,8 @@ public static void indexDataResource(Delegator delegator, Map<String, Object> context, String id, String path) throws Exception { Directory directory = FSDirectory.open(new File(getIndexPath(path))); long savedWriteLockTimeout = IndexWriterConfig.getDefaultWriteLockTimeout(); - Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_35); - IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_35, analyzer); + Analyzer analyzer = new StandardAnalyzer(LUCENE_VERSION); + IndexWriterConfig conf = new IndexWriterConfig(LUCENE_VERSION, analyzer); IndexWriter writer = null; try { Index: applications/content/src/org/ofbiz/content/test/LuceneTests.java =================================================================== --- applications/content/src/org/ofbiz/content/test/LuceneTests.java (revision 1373891) +++ applications/content/src/org/ofbiz/content/test/LuceneTests.java (working copy) @@ -85,9 +85,9 @@ String queryLine = "hand"; IndexSearcher searcher = new IndexSearcher(r); - Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_35); + Analyzer analyzer = new StandardAnalyzer(SearchWorker.LUCENE_VERSION); - QueryParser parser = new QueryParser(Version.LUCENE_35, "content", analyzer); + QueryParser parser = new QueryParser(SearchWorker.LUCENE_VERSION, "content", analyzer); Query query = parser.parse(queryLine); combQuery.add(query, BooleanClause.Occur.MUST); Index: applications/content/webapp/content/WEB-INF/actions/cms/Search.groovy =================================================================== --- applications/content/webapp/content/WEB-INF/actions/cms/Search.groovy (revision 1373891) +++ applications/content/webapp/content/WEB-INF/actions/cms/Search.groovy (working copy) @@ -56,7 +56,7 @@ Debug.logInfo("in search, indexPath:" + directory.toString(), ""); searcher = new IndexSearcher(reader); Debug.logInfo("in search, searcher:" + searcher, ""); - analyzer = new StandardAnalyzer(Version.LUCENE_30); + analyzer = new StandardAnalyzer(SearchWorker.LUCENE_VERSION); } catch (java.io.FileNotFoundException e) { request.setAttribute("errorMsgReq", "No index file exists."); Debug.logError("in search, error:" + e.getMessage(), ""); @@ -66,7 +66,7 @@ if (queryLine || siteId) { Query query = null; if (queryLine) { - QueryParser parser = new QueryParser(Version.LUCENE_30, "content", analyzer); + QueryParser parser = new QueryParser(SearchWorker.LUCENE_VERSION, "content", analyzer); query = parser.parse(queryLine); combQuery.add(query, BooleanClause.Occur.MUST); } Index: specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/actions/content/Search.groovy =================================================================== --- specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/actions/content/Search.groovy (revision 1373891) +++ specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/actions/content/Search.groovy (working copy) @@ -57,7 +57,7 @@ Analyzer analyzer = null; try { searcher = new IndexSearcher(reader); - analyzer = new StandardAnalyzer(Version.LUCENE_30); + analyzer = new StandardAnalyzer(SearchWorker.LUCENE_VERSION); } catch (java.io.FileNotFoundException e) { Debug.logError(e, "Search.groovy"); request.setAttribute("errorMsgReq", "No index file exists."); @@ -69,7 +69,7 @@ //Debug.logInfo("in search, combQuery(1):" + combQuery, ""); if (queryLine && analyzer) { Query query = null; - QueryParser parser = new QueryParser(Version.LUCENE_30, "content", analyzer); + QueryParser parser = new QueryParser(SearchWorker.LUCENE_VERSION, "content", analyzer); query = parser.parse(queryLine); combQuery.add(query, BooleanClause.Occur.MUST); } |
|
Hi Jacopo,
+1 to that change. I would go even further to prevent these inconsistencies in later updates and move the groovy-Code to the java-Sources to get propper compiling errors. Also there are already a couple of newer Lucene Versions out (eg. Lucene-4.0-ALPHA). I can provide some patches to upgrade to that release. Greetings, Mirko Mirko Vogelsmeier Consultant Lynx-Consulting GmbH Johanniskirchplatz 6 33615 Bielefeld Deutschland Fon: +49 521 5247-0 Fax: +49 521 5247-250 Mobil: Company and Management Headquarters: Lynx-Consulting GmbH, Johanniskirchplatz 6, 33615 Bielefeld, Deutschland Fon: +49 521 5247-0, Fax: +49 521 5247-250, www.lynx.de Court Registration: Amtsgericht Bielefeld HRB 35946 Chief Executive Officer: Hans-Joachim Rosowski From: Jacopo Cappellato <[hidden email]> To: [hidden email] Date: 17.08.2012 17:01 Subject: Inconsistent (?) use of Lucene versions Hi all, while reviewing the OFBiz code that implements the integration with Lucene I have noticed some inconsistent usage of the Lucene Version: some code sets the version to 30, 34, 35 while the current version we are using in OFBiz is 35 (aka Lucene 3.5); is this done intentionally or it is a result of incomplete upgrades (as I suspect)? Here is the code that I would like to commit to fix the issue (if it is an issue), that will also make it easier to perform new upgrades: [*] What do you think? All tests pass with this change but I have very few experience of this integration and I would appreciate your feedback. Thanks, Jacopo [*]: Index: applications/content/src/org/ofbiz/content/search/SearchWorker.java =================================================================== --- applications/content/src/org/ofbiz/content/search/SearchWorker.java (revision 1374283) +++ applications/content/src/org/ofbiz/content/search/SearchWorker.java (working copy) @@ -58,6 +58,8 @@ public static final String module = SearchWorker.class.getName(); + public static final Version LUCENE_VERSION = Version.LUCENE_35; + public static Map<String, Object> indexTree(LocalDispatcher dispatcher, Delegator delegator, String siteId, Map<String, Object> context, String path) throws Exception { Map<String, Object> results = FastMap.newInstance(); GenericValue content = delegator.makeValue("Content", UtilMisc.toMap("contentId", siteId)); @@ -130,8 +129,8 @@ // Now create IndexWriter writer = null; long savedWriteLockTimeout = IndexWriterConfig.getDefaultWriteLockTimeout(); - Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_34); - IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_34, analyzer); + Analyzer analyzer = new StandardAnalyzer(LUCENE_VERSION); + IndexWriterConfig conf = new IndexWriterConfig(LUCENE_VERSION, analyzer); try { IndexWriterConfig.setDefaultWriteLockTimeout(2000); @@ -176,8 +175,8 @@ public static void indexContent(LocalDispatcher dispatcher, Delegator delegator, Map<String, Object> context, GenericValue content, String path) throws Exception { Directory directory = FSDirectory.open(new File(getIndexPath(path))); long savedWriteLockTimeout = IndexWriterConfig.getDefaultWriteLockTimeout(); - Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_35); - IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_35, analyzer); + Analyzer analyzer = new StandardAnalyzer(LUCENE_VERSION); + IndexWriterConfig conf = new IndexWriterConfig(LUCENE_VERSION, analyzer); IndexWriter writer = null; try { try { @@ -227,8 +226,8 @@ public static void indexDataResource(Delegator delegator, Map<String, Object> context, String id, String path) throws Exception { Directory directory = FSDirectory.open(new File(getIndexPath(path))); long savedWriteLockTimeout = IndexWriterConfig.getDefaultWriteLockTimeout(); - Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_35); - IndexWriterConfig conf = new IndexWriterConfig(Version.LUCENE_35, analyzer); + Analyzer analyzer = new StandardAnalyzer(LUCENE_VERSION); + IndexWriterConfig conf = new IndexWriterConfig(LUCENE_VERSION, analyzer); IndexWriter writer = null; try { Index: applications/content/src/org/ofbiz/content/test/LuceneTests.java =================================================================== --- applications/content/src/org/ofbiz/content/test/LuceneTests.java (revision 1373891) +++ applications/content/src/org/ofbiz/content/test/LuceneTests.java (working copy) @@ -85,9 +85,9 @@ String queryLine = "hand"; IndexSearcher searcher = new IndexSearcher(r); - Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_35); + Analyzer analyzer = new StandardAnalyzer(SearchWorker.LUCENE_VERSION); - QueryParser parser = new QueryParser(Version.LUCENE_35, "content", analyzer); + QueryParser parser = new QueryParser(SearchWorker.LUCENE_VERSION, "content", analyzer); Query query = parser.parse(queryLine); combQuery.add(query, BooleanClause.Occur.MUST); Index: applications/content/webapp/content/WEB-INF/actions/cms/Search.groovy =================================================================== --- applications/content/webapp/content/WEB-INF/actions/cms/Search.groovy (revision 1373891) +++ applications/content/webapp/content/WEB-INF/actions/cms/Search.groovy (working copy) @@ -56,7 +56,7 @@ Debug.logInfo("in search, indexPath:" + directory.toString(), ""); searcher = new IndexSearcher(reader); Debug.logInfo("in search, searcher:" + searcher, ""); - analyzer = new StandardAnalyzer(Version.LUCENE_30); + analyzer = new StandardAnalyzer(SearchWorker.LUCENE_VERSION); } catch (java.io.FileNotFoundException e) { request.setAttribute("errorMsgReq", "No index file exists."); Debug.logError("in search, error:" + e.getMessage(), ""); @@ -66,7 +66,7 @@ if (queryLine || siteId) { Query query = null; if (queryLine) { - QueryParser parser = new QueryParser(Version.LUCENE_30, "content", analyzer); + QueryParser parser = new QueryParser(SearchWorker.LUCENE_VERSION, "content", analyzer); query = parser.parse(queryLine); combQuery.add(query, BooleanClause.Occur.MUST); } Index: specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/actions/content/Search.groovy =================================================================== --- specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/actions/content/Search.groovy (revision 1373891) +++ specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/actions/content/Search.groovy (working copy) @@ -57,7 +57,7 @@ Analyzer analyzer = null; try { searcher = new IndexSearcher(reader); - analyzer = new StandardAnalyzer(Version.LUCENE_30); + analyzer = new StandardAnalyzer(SearchWorker.LUCENE_VERSION); } catch (java.io.FileNotFoundException e) { Debug.logError(e, "Search.groovy"); request.setAttribute("errorMsgReq", "No index file exists."); @@ -69,7 +69,7 @@ //Debug.logInfo("in search, combQuery(1):" + combQuery, ""); if (queryLine && analyzer) { Query query = null; - QueryParser parser = new QueryParser(Version.LUCENE_30, "content", analyzer); + QueryParser parser = new QueryParser(SearchWorker.LUCENE_VERSION, "content", analyzer); query = parser.parse(queryLine); combQuery.add(query, BooleanClause.Occur.MUST); } Besuchen Sie unsere neue Microsite zum Thema E-Bilanz und XBRL-Browser. Ab jetzt sind Bilanz und GuV nur noch elektronisch an die Finanzbehörden zu übermitteln. Wir helfen weiter! http://www.lynx.de/haftungsausschluss |
|
In reply to this post by Jacopo Cappellato-4
Le 17/08/2012 17:00, Jacopo Cappellato a écrit :
> Hi all, > > while reviewing the OFBiz code that implements the integration with Lucene I have noticed some inconsistent usage of the Lucene Version: some code sets the version to 30, 34, 35 while the current version we are using in OFBiz is 35 (aka Lucene 3.5); is this done intentionally or it is a result of incomplete upgrades (as I suspect)? > > Here is the code that I would like to commit to fix the issue (if it is an issue), that will also make it easier to perform new upgrades: [*] > What do you think? All tests pass with this change but I have very few experience of this integration and I would appreciate your feedback. > > Thanks, > > Jacopo Hi Jacopo, I saw that too earlier this week, but didn't have the time to work on it. +1 for that change, I think I may have forgotten to upgrade the version. -- Erwan de FERRIERES www.nereide.biz |
|
In reply to this post by Vogelsme
Le 17/08/2012 17:11, Mirko Vogelsmeier a écrit :
> Hi Jacopo, > > +1 to that change. > I would go even further to prevent these inconsistencies in later updates > and move > the groovy-Code to the java-Sources to get propper compiling errors. > Also there are already a couple of newer Lucene Versions out (eg. > Lucene-4.0-ALPHA). > I can provide some patches to upgrade to that release. > > Greetings, > Mirko > Mirko, please create a jira issue for upgrading to newer release, at least 3.6.1. I will then review it. Cheers, -- Erwan de FERRIERES www.nereide.biz |
|
Mirko, Erwan,
thank you for your feedback. I have committed my code changes with rev. 1374328 Jacopo On Aug 17, 2012, at 5:30 PM, Erwan de FERRIERES wrote: > Le 17/08/2012 17:11, Mirko Vogelsmeier a écrit : >> Hi Jacopo, >> >> +1 to that change. >> I would go even further to prevent these inconsistencies in later updates >> and move >> the groovy-Code to the java-Sources to get propper compiling errors. >> Also there are already a couple of newer Lucene Versions out (eg. >> Lucene-4.0-ALPHA). >> I can provide some patches to upgrade to that release. >> >> Greetings, >> Mirko >> > > Mirko, > > please create a jira issue for upgrading to newer release, at least 3.6.1. I will then review it. > > Cheers, > > > -- > Erwan de FERRIERES > www.nereide.biz |
| Free forum by Nabble | Edit this page |
