Re: Which version of Solr?
I guess hijacking my own thread is still hijacking. :) I'll avoid that in the future. It is great for SolrJ and Solr to be working as expected and to be making forward progress! Jeff On Feb 14, 2011, at 11:01 PM, David Smiley (@MITRE.org) wrote: Wow; I'm glad you figured it out -- sort of. FYI, in the future, don't hijack email threads to talk about a new subject. Start a new thread. ~ David p.s. yes, I'm working on the 2nd edition. - Author: https://www.packtpub.com/solr-1-4-enterprise-search-server/book -- View this message in context: http://lucene.472066.n3.nabble.com/Which-version-of-Solr-tp2482468p2498641.html Sent from the Solr - User mailing list archive at Nabble.com. -- Jeff Schmidt 535 Consulting j...@535consulting.com (650) 423-1068 http://www.535consulting.com
Re: Which version of Solr?
Hi Otis: I guess I got too obsessed trying to resolve my SolrJ/Solr interaction problem, I missed your reply... I've heard using 3.1 is the best approach, and now 4.0/trunk. Will trunk be undergoing a release in the next few months then? It seems so soon after 3.x. Fortunately, I have both branch_3x and trunk checked out and I can generate Maven artifacts for each one. That makes it easy for me to use one or the other, at least until I get set on some feature only available in one of them. Is trunk currently a superset of branch_3x, or are there some 3.x features that won't be merged into trunk for quite some time? Cheers, Jeff On Feb 13, 2011, at 6:49 PM, Otis Gospodnetic wrote: Hi Jeff, For projects that are going live in 6 months I would use trunk. Otis Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch Lucene ecosystem search :: http://search-lucene.com/ - Original Message From: Jeff Schmidt j...@535consulting.com To: solr-user@lucene.apache.org Sent: Sat, February 12, 2011 4:37:37 PM Subject: Which version of Solr? Hello: I'm working on incorporating Solr into a SaaS based life sciences semantic search project. This will be released in about six months. I'm trying to determine which version of Solr makes the most sense. When going to the Solr download page, there are 1.3.0, 1.4.0, and 1.4.1. I've been using 1.4.1 while going through some examples in my Packt book (Solr 1.4 Enterprise Search Server). But, I also see that Solr 3.1 and 4.0 are in the works. According to: https://issues.apache.org/jira/browse/#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel there is a high degree of progress on both of those releases; including a slew of bug fixes, new features, performance enhancements etc. Should I be making use of one of the newer versions? The hierarchical faceting seems like it could be quite useful. Are there any guesses on when either 3.1 or 4.0 will be officially released? So far, 1.4.1 has been good. But I'm unable to get SolrJ to work due to the 'javabin' version mismatch. I'm using the 1.4.1 version of SolrJ, but I always get an HTTP response code of 200, but the return entity is simply a null byte, which does not match the version number of 1 defined in Solr common. Anyway, I can follow up on that issue if 1.4.1 is still the most appropriate version to use these days. Otherwise, I'll try again with whatever version you suggest. Thanks a lot! Jeff -- Jeff Schmidt 535 Consulting j...@535consulting.com (650) 423-1068 -- Jeff Schmidt 535 Consulting j...@535consulting.com (650) 423-1068 http://www.535consulting.com
Re: Which version of Solr?
Let's see if I have this right. 3x is 1.4.1 with selected features from trunk backported. Which translates as lots of cool new stuff is in in 3x (geospatial comes to mind, eDismax, etc) but the more fluid changes are not being backported. I guess it depends on how risk-averse you are. There are people using both trunk and 3x in production. Personally, though, I'd go with 3x for a project 6 months out unless there's a feature of trunk that would make your life a whole lot easier. Trunk is well- tested, but why take any risk unless there are measurable benefits? You might read through the changes.txt file to see if there's anything in trunk you can't live without Best Erick On Tue, Feb 15, 2011 at 7:30 AM, Jeff Schmidt j...@535consulting.com wrote: Hi Otis: I guess I got too obsessed trying to resolve my SolrJ/Solr interaction problem, I missed your reply... I've heard using 3.1 is the best approach, and now 4.0/trunk. Will trunk be undergoing a release in the next few months then? It seems so soon after 3.x. Fortunately, I have both branch_3x and trunk checked out and I can generate Maven artifacts for each one. That makes it easy for me to use one or the other, at least until I get set on some feature only available in one of them. Is trunk currently a superset of branch_3x, or are there some 3.x features that won't be merged into trunk for quite some time? Cheers, Jeff On Feb 13, 2011, at 6:49 PM, Otis Gospodnetic wrote: Hi Jeff, For projects that are going live in 6 months I would use trunk. Otis Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch Lucene ecosystem search :: http://search-lucene.com/ - Original Message From: Jeff Schmidt j...@535consulting.com To: solr-user@lucene.apache.org Sent: Sat, February 12, 2011 4:37:37 PM Subject: Which version of Solr? Hello: I'm working on incorporating Solr into a SaaS based life sciences semantic search project. This will be released in about six months. I'm trying to determine which version of Solr makes the most sense. When going to the Solr download page, there are 1.3.0, 1.4.0, and 1.4.1. I've been using 1.4.1 while going through some examples in my Packt book (Solr 1.4 Enterprise Search Server). But, I also see that Solr 3.1 and 4.0 are in the works. According to: https://issues.apache.org/jira/browse/#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel there is a high degree of progress on both of those releases; including a slew of bug fixes, new features, performance enhancements etc. Should I be making use of one of the newer versions? The hierarchical faceting seems like it could be quite useful. Are there any guesses on when either 3.1 or 4.0 will be officially released? So far, 1.4.1 has been good. But I'm unable to get SolrJ to work due to the 'javabin' version mismatch. I'm using the 1.4.1 version of SolrJ, but I always get an HTTP response code of 200, but the return entity is simply a null byte, which does not match the version number of 1 defined in Solr common. Anyway, I can follow up on that issue if 1.4.1 is still the most appropriate version to use these days. Otherwise, I'll try again with whatever version you suggest. Thanks a lot! Jeff -- Jeff Schmidt 535 Consulting j...@535consulting.com (650) 423-1068 -- Jeff Schmidt 535 Consulting j...@535consulting.com (650) 423-1068 http://www.535consulting.com
Re: Which version of Solr?
On Tue, Feb 15, 2011 at 9:18 AM, Erick Erickson erickerick...@gmail.com wrote: I guess it depends on how risk-averse you are. There are people using both trunk and 3x in production. Right. It also depends on how easy it is to re-index your data. If it's hard/impossible, IMO that's the single biggest argument for going with 3x (soon 3.1) instead of trunk. All of the new coolness in trunk has come with index format changes along the way. -Yonik http://lucidimagination.com
Re: Which version of Solr?
I guess I'll work with 3.x for now until some 4.0 feature makes me move to trunk. For the next few months, re-indexing is not a problem, but once in production one index directly under my control will be updated quarterly (maybe monthly) with new content, while other indexes will be updated by 3rd parties at arbitrary times. Those indexes will maintain cumulative results of those updates and it will be more of an issue to require a 3rd party to provide the totality of documents to re-index from scratch. Not impossible, just not desirable. Once I get more comfortable with Solr as a solution, I need to look more into index replication, backup etc. :) Thanks for your suggestions on the versions. Cheers, Jeff On Feb 15, 2011, at 7:23 AM, Yonik Seeley wrote: On Tue, Feb 15, 2011 at 9:18 AM, Erick Erickson erickerick...@gmail.com wrote: I guess it depends on how risk-averse you are. There are people using both trunk and 3x in production. Right. It also depends on how easy it is to re-index your data. If it's hard/impossible, IMO that's the single biggest argument for going with 3x (soon 3.1) instead of trunk. All of the new coolness in trunk has come with index format changes along the way. -Yonik http://lucidimagination.com -- Jeff Schmidt 535 Consulting j...@535consulting.com (650) 423-1068 http://www.535consulting.com
Re: Which version of Solr?
I figured instead of trying to index content, I'd simply issue a query via SolrJ. This seems related to my problem below. I create a CommonsHttpSolrServer instance in the manner already described and in a new method: @Override public ListString getNodeIdsForProductId(final String productId, final String partnerId) { final ListString nodes = new ArrayListString(); final CommonsHttpSolrServer solrServer = (CommonsHttpSolrServer)getSolrServer(partnerId); final SolrQuery query = new SolrQuery(); query.setQuery(productId: + productId); query.addField(nodeId); try { final QueryResponse response = solrServer.query(query); final SolrDocumentList docs = response.getResults(); log.info(String.format(getNodeIdsForProductId - got %d nodes for productId: %s, docs.getNumFound(), productId)); for (SolrDocument doc : docs) { log.info(doc); } } catch (SolrServerException ex) { final String msg = String.format(Unable to query Solr server %s, for query: %s, solrServer.getBaseURL(), query); log.error(msg); throw new ServiceException(msg, ex); } return nodes; } When issuing the query I get: 2011-02-14 13:13:28 INFO solr.SolrProductIndexService - getSolrServer - Solr url: http://localhost:8080/solr/partner-tmo 2011-02-14 13:13:28 INFO solr.SolrProductIndexService - getSolrServer - construct server for url: http://localhost:8080/solr/partner-tmo 2011-02-14 13:13:28 ERROR solr.SolrProductIndexService - Unable to query Solr server http://localhost:8080/solr/partner-tmo, for query: q=productId%3Aproduct4fl=nodeId ... Caused by: org.apache.solr.client.solrj.SolrServerException: org.apache.commons.httpclient.NoHttpResponseException: The server localhost failed to respond at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:484) ... Caused by: org.apache.commons.httpclient.NoHttpResponseException: The server localhost failed to respond at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1976) If I run this through the proxy again, I can see the request being made as: GET /solr/partner-tmo/select?q=productId%3Aproduct4fl=nodeIdwt=xmlversion=2.2 HTTP/1.1 User-Agent: Solr[org.apache.solr.client.solrj.impl.CommonsHttpSolrServer] 1.0 Host: localhost:8080 And I get no response from Solr. If instead I use this URL in Firefox: http://localhost:8080/solr/partner-tmo/select?q=productId%3Aproduct4fl=nodeIdwt=xmlversion=2.2 I get search results. What is it about SolrJ that is just not working out? What basic thing am I missing? Using Firefox here, or curl below, I can talk to Solr (running in Tomcat 6) just fine. But when going via SolrJ, I cannot update or query. All of this stuff is running on a single system. I guess I'll try a simpler app/unit test to see what happens... This is really a big problem for me. Any suggests are greatly appreciated. Thanks, Jeff On Feb 13, 2011, at 9:15 PM, Jeff Schmidt wrote: Hello again: Back to the javabin iissue: On Feb 12, 2011, at 6:07 PM, Lance Norskog wrote: --- But I'm unable to get SolrJ to work due to the 'javabin' version mismatch. I'm using the 1.4.1 version of SolrJ, but I always get an HTTP response code of 200, but the return entity is simply a null byte, which does not match the version number of 1 defined in Solr common. --- I've never seen this problem. At this point you are better off starting with 3.x instead of chasing this problem down. I'm now using the latest branch_3x built Solr and SolrJ. Other places I've seen the message: Caused by: java.lang.RuntimeException: Invalid version (expected 2, but 0) or the data in not in 'javabin' format at org.apache.solr.common.util.JavaBinCodec.unmarshal(JavaBinCodec.java:99) at org.apache.solr.client.solrj.impl.BinaryResponseParser.processResponse(BinaryResponseParser.java:41) One was told to make sure the version of Solr and SolrJ are compatible, and that the schema is valid. Unlike 1.4, I see 3.1 actually outputs the expected and received version numbers, which is helpful. You can see the invalid version of 0 is indicated which is the zero byte I receive in response. I have Solr running within Tomcat by following the wiki. I have the conf/Catalina/localhost/solr.xml file set as: ?xml version=1.0 encoding=utf-8? Context docBase=/usr/local/ingenuity/isec/solr/apache-solr-3.1-SNAPSHOT.war debug=0 crossContext=true Environment name=solr/home type=java.lang.String
Re: Which version of Solr?
II! I feel your pain! On Mon, Feb 14, 2011 at 3:27 PM, Jeff Schmidt j...@535consulting.com wrote: Wow, okay, it's Cassandra's fault... :) I create unit tests to use HttpClient and even HttpURLConnection, and the former got the non-response from the server, and the latter got unexpected end of file. But, if I use curl or telnet, things would work. Anyway, I noticed (Mac OS X 10.6.6): [imac:apache/cassandra/apache-cassandra-0.7.0] jas% netstat -an | grep 8080 tcp4 0 0 *.8080 *.* LISTEN tcp46 0 0 *.8080 *.* LISTEN [imac:apache/cassandra/apache-cassandra-0.7.0] jas% After shutting down tomcat, the tcp4 line would still show up. Only after also shutting down Cassandra were there no listeners on port 8080. Starting tomcat and Cassandra in either order, neither failed to bind to 8080. Why my Java programs tried to talk to Cassandra, and telnet, Firefox, curl etc. managed to hook up with Solr, I don't know. I moved tomcat to port 8090 and things are good... Sigh.. What a big waste of time. Cheers, Jeff On Feb 14, 2011, at 2:29 PM, Jeff Schmidt wrote: I figured instead of trying to index content, I'd simply issue a query via SolrJ. This seems related to my problem below. I create a CommonsHttpSolrServer instance in the manner already described and in a new method: @Override public ListString getNodeIdsForProductId(final String productId, final String partnerId) { final ListString nodes = new ArrayListString(); final CommonsHttpSolrServer solrServer = (CommonsHttpSolrServer)getSolrServer(partnerId); final SolrQuery query = new SolrQuery(); query.setQuery(productId: + productId); query.addField(nodeId); try { final QueryResponse response = solrServer.query(query); final SolrDocumentList docs = response.getResults(); log.info(String.format(getNodeIdsForProductId - got %d nodes for productId: %s, docs.getNumFound(), productId)); for (SolrDocument doc : docs) { log.info(doc); } } catch (SolrServerException ex) { final String msg = String.format(Unable to query Solr server %s, for query: %s, solrServer.getBaseURL(), query); log.error(msg); throw new ServiceException(msg, ex); } return nodes; } When issuing the query I get: 2011-02-14 13:13:28 INFO solr.SolrProductIndexService - getSolrServer - Solr url: http://localhost:8080/solr/partner-tmo 2011-02-14 13:13:28 INFO solr.SolrProductIndexService - getSolrServer - construct server for url: http://localhost:8080/solr/partner-tmo 2011-02-14 13:13:28 ERROR solr.SolrProductIndexService - Unable to query Solr server http://localhost:8080/solr/partner-tmo, for query: q=productId%3Aproduct4fl=nodeId ... Caused by: org.apache.solr.client.solrj.SolrServerException: org.apache.commons.httpclient.NoHttpResponseException: The server localhost failed to respond at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:484) ... Caused by: org.apache.commons.httpclient.NoHttpResponseException: The server localhost failed to respond at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1976) If I run this through the proxy again, I can see the request being made as: GET /solr/partner-tmo/select?q=productId%3Aproduct4fl=nodeIdwt=xmlversion=2.2 HTTP/1.1 User-Agent: Solr[org.apache.solr.client.solrj.impl.CommonsHttpSolrServer] 1.0 Host: localhost:8080 And I get no response from Solr. If instead I use this URL in Firefox: http://localhost:8080/solr/partner-tmo/select?q=productId%3Aproduct4fl=nodeIdwt=xmlversion=2.2 I get search results. What is it about SolrJ that is just not working out? What basic thing am I missing? Using Firefox here, or curl below, I can talk to Solr (running in Tomcat 6) just fine. But when going via SolrJ, I cannot update or query. All of this stuff is running on a single system. I guess I'll try a simpler app/unit test to see what happens... This is really a big problem for me. Any suggests are greatly appreciated. Thanks, Jeff On Feb 13, 2011, at 9:15 PM, Jeff Schmidt wrote: Hello again: Back to the javabin iissue: On Feb 12, 2011, at 6:07 PM, Lance Norskog wrote: --- But I'm unable to get SolrJ to work due to the 'javabin' version mismatch. I'm using the 1.4.1 version of SolrJ, but I always get an HTTP response code of 200, but the return entity is simply a null byte, which does not match the version number of 1 defined in Solr common. ---
Re: Which version of Solr?
Wow; I'm glad you figured it out -- sort of. FYI, in the future, don't hijack email threads to talk about a new subject. Start a new thread. ~ David p.s. yes, I'm working on the 2nd edition. - Author: https://www.packtpub.com/solr-1-4-enterprise-search-server/book -- View this message in context: http://lucene.472066.n3.nabble.com/Which-version-of-Solr-tp2482468p2498641.html Sent from the Solr - User mailing list archive at Nabble.com.
Re: Which version of Solr?
Thanks Lance, I'll see what I can do with 3.x. I got the latest build #260 from Hudson (apache-solr-3.1-2011-02-13_05-19-21.tgz). While SolrJ 1.4.1 was available to my Maven build, I don't see any 3.x or 4.x client artifacts available out there. It looks like Maven was addressed a while back (https://issues.apache.org/jira/browse/SOLR-586), but has that fallen by the wayside? I admittedly did not build from source. But, in the distribution I just downloaded, I don't see any POMs etc. for the client stuff that I could perhaps install in a local repo. Cheers, Jeff On Feb 12, 2011, at 6:07 PM, Lance Norskog wrote: There is momentum towards doing a release of 3.x. I would be comfortable using the 3.x branch. --- But I'm unable to get SolrJ to work due to the 'javabin' version mismatch. I'm using the 1.4.1 version of SolrJ, but I always get an HTTP response code of 200, but the return entity is simply a null byte, which does not match the version number of 1 defined in Solr common. --- I've never seen this problem. At this point you are better off starting with 3.x instead of chasing this problem down. On Sat, Feb 12, 2011 at 1:37 PM, Jeff Schmidt j...@535consulting.com wrote: Hello: I'm working on incorporating Solr into a SaaS based life sciences semantic search project. This will be released in about six months. I'm trying to determine which version of Solr makes the most sense. When going to the Solr download page, there are 1.3.0, 1.4.0, and 1.4.1. I've been using 1.4.1 while going through some examples in my Packt book (Solr 1.4 Enterprise Search Server). But, I also see that Solr 3.1 and 4.0 are in the works. According to: https://issues.apache.org/jira/browse/#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel there is a high degree of progress on both of those releases; including a slew of bug fixes, new features, performance enhancements etc. Should I be making use of one of the newer versions? The hierarchical faceting seems like it could be quite useful. Are there any guesses on when either 3.1 or 4.0 will be officially released? So far, 1.4.1 has been good. But I'm unable to get SolrJ to work due to the 'javabin' version mismatch. I'm using the 1.4.1 version of SolrJ, but I always get an HTTP response code of 200, but the return entity is simply a null byte, which does not match the version number of 1 defined in Solr common. Anyway, I can follow up on that issue if 1.4.1 is still the most appropriate version to use these days. Otherwise, I'll try again with whatever version you suggest. Thanks a lot! Jeff -- Jeff Schmidt 535 Consulting j...@535consulting.com (650) 423-1068 -- Lance Norskog goks...@gmail.com -- Jeff Schmidt 535 Consulting j...@535consulting.com (650) 423-1068 http://www.535consulting.com
Re: Which version of Solr?
Thanks David. I really like your book. Will there be a 3.x version coming along? :) I'm glad to hear that 3.x is not many months away from release. I am currently checking out: http://svn.apache.org/repos/asf/lucene/dev/branches/branch_3x Please let me know if that is not correct. Cheers, Jeff On Feb 13, 2011, at 2:10 PM, David Smiley (@MITRE.org) wrote: Maven support got a major shot in the arm for releases going forward. If you want to start with 3x, then get the source for that branch and do a build. You should see some ant tasks which build maven artifacts. My guestimate on the 3x release date is 3-4 weeks from now. ~ David Smiley (author of the packt book) - Author: https://www.packtpub.com/solr-1-4-enterprise-search-server/book -- View this message in context: http://lucene.472066.n3.nabble.com/Which-version-of-Solr-tp2482468p2487947.html Sent from the Solr - User mailing list archive at Nabble.com. -- Jeff Schmidt 535 Consulting j...@535consulting.com (650) 423-1068 http://www.535consulting.com
Re: Which version of Solr?
Great, there be artifacts here! I was able to configure a repo using file:/... to the dist/maven directory, and off we go. Thanks again! Jeff On Feb 13, 2011, at 3:12 PM, Jeff Schmidt wrote: Thanks David. I really like your book. Will there be a 3.x version coming along? :) I'm glad to hear that 3.x is not many months away from release. I am currently checking out: http://svn.apache.org/repos/asf/lucene/dev/branches/branch_3x Please let me know if that is not correct. Cheers, Jeff On Feb 13, 2011, at 2:10 PM, David Smiley (@MITRE.org) wrote: Maven support got a major shot in the arm for releases going forward. If you want to start with 3x, then get the source for that branch and do a build. You should see some ant tasks which build maven artifacts. My guestimate on the 3x release date is 3-4 weeks from now. ~ David Smiley (author of the packt book) - Author: https://www.packtpub.com/solr-1-4-enterprise-search-server/book -- View this message in context: http://lucene.472066.n3.nabble.com/Which-version-of-Solr-tp2482468p2487947.html Sent from the Solr - User mailing list archive at Nabble.com. -- Jeff Schmidt 535 Consulting j...@535consulting.com (650) 423-1068 http://www.535consulting.com -- Jeff Schmidt 535 Consulting j...@535consulting.com (650) 423-1068 http://www.535consulting.com
Re: Which version of Solr?
Hi Jeff, For projects that are going live in 6 months I would use trunk. Otis Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch Lucene ecosystem search :: http://search-lucene.com/ - Original Message From: Jeff Schmidt j...@535consulting.com To: solr-user@lucene.apache.org Sent: Sat, February 12, 2011 4:37:37 PM Subject: Which version of Solr? Hello: I'm working on incorporating Solr into a SaaS based life sciences semantic search project. This will be released in about six months. I'm trying to determine which version of Solr makes the most sense. When going to the Solr download page, there are 1.3.0, 1.4.0, and 1.4.1. I've been using 1.4.1 while going through some examples in my Packt book (Solr 1.4 Enterprise Search Server). But, I also see that Solr 3.1 and 4.0 are in the works. According to: https://issues.apache.org/jira/browse/#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel there is a high degree of progress on both of those releases; including a slew of bug fixes, new features, performance enhancements etc. Should I be making use of one of the newer versions? The hierarchical faceting seems like it could be quite useful. Are there any guesses on when either 3.1 or 4.0 will be officially released? So far, 1.4.1 has been good. But I'm unable to get SolrJ to work due to the 'javabin' version mismatch. I'm using the 1.4.1 version of SolrJ, but I always get an HTTP response code of 200, but the return entity is simply a null byte, which does not match the version number of 1 defined in Solr common. Anyway, I can follow up on that issue if 1.4.1 is still the most appropriate version to use these days. Otherwise, I'll try again with whatever version you suggest. Thanks a lot! Jeff -- Jeff Schmidt 535 Consulting j...@535consulting.com (650) 423-1068
Re: Which version of Solr?
Hello again: Back to the javabin iissue: On Feb 12, 2011, at 6:07 PM, Lance Norskog wrote: --- But I'm unable to get SolrJ to work due to the 'javabin' version mismatch. I'm using the 1.4.1 version of SolrJ, but I always get an HTTP response code of 200, but the return entity is simply a null byte, which does not match the version number of 1 defined in Solr common. --- I've never seen this problem. At this point you are better off starting with 3.x instead of chasing this problem down. I'm now using the latest branch_3x built Solr and SolrJ. Other places I've seen the message: Caused by: java.lang.RuntimeException: Invalid version (expected 2, but 0) or the data in not in 'javabin' format at org.apache.solr.common.util.JavaBinCodec.unmarshal(JavaBinCodec.java:99) at org.apache.solr.client.solrj.impl.BinaryResponseParser.processResponse(BinaryResponseParser.java:41) One was told to make sure the version of Solr and SolrJ are compatible, and that the schema is valid. Unlike 1.4, I see 3.1 actually outputs the expected and received version numbers, which is helpful. You can see the invalid version of 0 is indicated which is the zero byte I receive in response. I have Solr running within Tomcat by following the wiki. I have the conf/Catalina/localhost/solr.xml file set as: ?xml version=1.0 encoding=utf-8? Context docBase=/usr/local/ingenuity/isec/solr/apache-solr-3.1-SNAPSHOT.war debug=0 crossContext=true Environment name=solr/home type=java.lang.String value=/Users/jas/535Consulting/Clients/Ingenuity/ProfServices/svn/trunk/ing/isec/src/main/solr/multicore override=true/ /Context With that, I'm able to use my browser to index some content (DIH, curl etc.) and issue queries, so it seems Solr is running okay in tomcat (apache-tomcat-6.0.30). To index some Products, I have this simple method: @Override public void addProducts(final CollectionProduct products, final String indexName) { log.info(String.format(addProducts - indexing %d products to Solr core: %s, products.size(), indexName)); Assert.notNull(indexName); final CollectionSolrInputDocument docs = new ArrayListSolrInputDocument(); for (Product product : products) { final SolrInputDocument doc = createDocumentForProduct(product); docs.add(doc); log.info(addProduct: document to index: + doc); } final SolrServer solrServer = getSolrServer(indexName); try { solrServer.add(docs); solrServer.commit(commitWaitFlush, commitWaitSearcher); } catch (Exception ex) { final String msg = String.format(Unable to add and commit %d documents to core: %s, products.size(), indexName); log.error(msg); throw new ServiceException(msg, ex); } } And I have: protected SolrServer getSolrServer(final String indexName) { final String url = solrServerBaseUrl + indexName; log.info(getSolrServer - construct server for url: + url); try { final CommonsHttpSolrServer solrServer = new CommonsHttpSolrServer(solrServerBaseUrl + indexName); //solrServer.setParser(new BinaryResponseParser()); //solrServer.setParser(new XMLResponseParser()); solrServer.setRequestWriter(new BinaryRequestWriter()); return solrServer; } catch (Exception ex) { final String msg = String.format(Unable to create Solr server for url: %s, url); log.error(msg); throw new ServiceException(msg, ex); } } Note that this is code for prototyping. :) As you can see, in getSolrServer() I'm trying various settings. http://wiki.apache.org/solr/Solrj is tagged Solr 1.4, but I'm assuming it's at least very similar in 3.1. For the core in question, solrconfig.xml does have: requestHandler name=/update class=solr.XmlUpdateRequestHandler / requestHandler name=/update/javabin class=solr.BinaryUpdateRequestHandler / I can see in the Solr log: Feb 13, 2011 3:35:14 PM org.apache.solr.core.RequestHandlers initHandlersFromConfig INFO: created /update/javabin: solr.BinaryUpdateRequestHandler Running this through the burp proxy to try to see what's going on, I can see my application making the following request to Solr via SolrJ: -- POST
Re: Which version of Solr?
There is momentum towards doing a release of 3.x. I would be comfortable using the 3.x branch. --- But I'm unable to get SolrJ to work due to the 'javabin' version mismatch. I'm using the 1.4.1 version of SolrJ, but I always get an HTTP response code of 200, but the return entity is simply a null byte, which does not match the version number of 1 defined in Solr common. --- I've never seen this problem. At this point you are better off starting with 3.x instead of chasing this problem down. On Sat, Feb 12, 2011 at 1:37 PM, Jeff Schmidt j...@535consulting.com wrote: Hello: I'm working on incorporating Solr into a SaaS based life sciences semantic search project. This will be released in about six months. I'm trying to determine which version of Solr makes the most sense. When going to the Solr download page, there are 1.3.0, 1.4.0, and 1.4.1. I've been using 1.4.1 while going through some examples in my Packt book (Solr 1.4 Enterprise Search Server). But, I also see that Solr 3.1 and 4.0 are in the works. According to: https://issues.apache.org/jira/browse/#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel there is a high degree of progress on both of those releases; including a slew of bug fixes, new features, performance enhancements etc. Should I be making use of one of the newer versions? The hierarchical faceting seems like it could be quite useful. Are there any guesses on when either 3.1 or 4.0 will be officially released? So far, 1.4.1 has been good. But I'm unable to get SolrJ to work due to the 'javabin' version mismatch. I'm using the 1.4.1 version of SolrJ, but I always get an HTTP response code of 200, but the return entity is simply a null byte, which does not match the version number of 1 defined in Solr common. Anyway, I can follow up on that issue if 1.4.1 is still the most appropriate version to use these days. Otherwise, I'll try again with whatever version you suggest. Thanks a lot! Jeff -- Jeff Schmidt 535 Consulting j...@535consulting.com (650) 423-1068 -- Lance Norskog goks...@gmail.com
Re: Which version of Solr to use?
The devs try and keep both the 3 and 4 (trunk) branches stable in the terms you are talking about at all times. But bear in mind that more radical changes will tend to hit trunk, probably making it by definition less stable than 3. But it all depends - you might find a worse bug on the 3 branch! A lot of the major changes on both branches have been fairly well tested up to this point IMO. I really think both are viable options if you properly test your deployment ahead of time. One large point though - when you jump on trunk as opposed to 3, you are more likely to be bitten by an index format change that makes upgrading an index a pain without a reindex. I think this risk is much greater on trunk - though when a lucene codec covers all index files, the whole problem should be heavily mitigated at the least. It's usually best to reindex anyway, but so painful for some, I guess there is sometimes really no choice. - Mark On 10/14/10 1:22 PM, Mike Squire wrote: Hi, I've successfully downloaded and deployed 1.4.1, which is fine except it doesn't support the spatial search stuff. I tried installing LocalSolr but came to a bit of an impasse when it appeared to index stuff but didn't return any results (and then I saw the last commit to the LocalSolr repository was Dec last year so decided that was probably out-of-date anyway). So, if I want the spatial search support it appears there are 2 candidates. Either the 1.5 or the 3.1 branch and my question is, which one is best for me to use? I guess the answer to this question is driven by how up-to-date (with respect the spatial search stuff) and stable 1.5 is (I notice the last commit is a little over 6 months ago) and how close to stable the 3.1 branch is. This is ultimately for a production system so I'm not too keen on winging it with an unstable version, but I'd really like to take advantage of the spatial search stuff if possible. As an ancillary question, does anyone know how stable the 3.1 branch is and how close the dev team feel they are to a release? I guess it's done when it's done but a general idea would be quite helpful. Thanks in advance. Mike.
Re: Which version of Solr to use?
I'm kind of confused about Solr development plans in general, highlighted by this thread. I think 1.4.1 is the latest officially stable release, yes? Why is there both a 1.5 and a 3.x, anyway? Not to mention a 4.x? Which of these will end up being a stable release? Both? From which will come the next stable release? Mark Miller wrote: The devs try and keep both the 3 and 4 (trunk) branches stable in the terms you are talking about at all times. But bear in mind that more radical changes will tend to hit trunk, probably making it by definition less stable than 3. But it all depends - you might find a worse bug on the 3 branch! A lot of the major changes on both branches have been fairly well tested up to this point IMO. I really think both are viable options if you properly test your deployment ahead of time. One large point though - when you jump on trunk as opposed to 3, you are more likely to be bitten by an index format change that makes upgrading an index a pain without a reindex. I think this risk is much greater on trunk - though when a lucene codec covers all index files, the whole problem should be heavily mitigated at the least. It's usually best to reindex anyway, but so painful for some, I guess there is sometimes really no choice. - Mark On 10/14/10 1:22 PM, Mike Squire wrote: Hi, I've successfully downloaded and deployed 1.4.1, which is fine except it doesn't support the spatial search stuff. I tried installing LocalSolr but came to a bit of an impasse when it appeared to index stuff but didn't return any results (and then I saw the last commit to the LocalSolr repository was Dec last year so decided that was probably out-of-date anyway). So, if I want the spatial search support it appears there are 2 candidates. Either the 1.5 or the 3.1 branch and my question is, which one is best for me to use? I guess the answer to this question is driven by how up-to-date (with respect the spatial search stuff) and stable 1.5 is (I notice the last commit is a little over 6 months ago) and how close to stable the 3.1 branch is. This is ultimately for a production system so I'm not too keen on winging it with an unstable version, but I'd really like to take advantage of the spatial search stuff if possible. As an ancillary question, does anyone know how stable the 3.1 branch is and how close the dev team feel they are to a release? I guess it's done when it's done but a general idea would be quite helpful. Thanks in advance. Mike.
Re: Which version of Solr to use?
On 14.10.2010, at 19:50, Jonathan Rochkind rochk...@jhu.edu wrote: I'm kind of confused about Solr development plans in general, highlighted by this thread. I think 1.4.1 is the latest officially stable release, yes? Why is there both a 1.5 and a 3.x, anyway? Not to mention a 4.x? Which of these will end up being a stable release? Both? From which will come the next stable release? the current confusing list of branches is a result of the merge of the lucene and solr svn repositories. what baffpes me is that so far the countless plea's for at least a rough roadmap or even just explanation for why so many branches are needed have gone essentially unheard. given that most of the features planned for the next branches already exist in elasticsearch, i am thinking i need to allocate time to switch over to there. regards Lukas
Re: Which version of Solr to use?
On Thu, Oct 14, 2010 at 1:58 PM, Lukas Kahwe Smith m...@pooteeweet.org wrote: the current confusing list of branches is a result of the merge of the lucene and solr svn repositories. what baffpes me is that so far the countless plea's for at least a rough roadmap or even just explanation for why so many branches are needed There is one branch users need to be concerned about: branch_3x All 3.x releases will be made from that branch. trunk (which is technically not a branch) is 4.0 -Yonik http://www.lucidimagination.com
Re: Which version of Solr to use?
On Thu, Oct 14, 2010 at 1:50 PM, Jonathan Rochkind rochk...@jhu.edu wrote: I'm kind of confused about Solr development plans in general, highlighted by this thread. I think 1.4.1 is the latest officially stable release, yes? Why is there both a 1.5 and a 3.x, anyway? Not to mention a 4.x? Which of these will end up being a stable release? Both? From which will come the next stable release? 1.5 is pre lucene/solr merge, and is very unlikely to ever be released. 3.1 is the next lucene/solr point release (3x branch in svn) 4.0 is the next major release (trunk in svn) -Yonik http://www.lucidimagination.com
Re: Which version of Solr to use?
Thanks Yonik! So I gather that the 1.5 branch has essentially been abandoned, we can pretend it doesn't exist at all, it's been entirely superceded by the 3.x branch, with the changes made just for the purposes of syncronizing versions with lucene. Yonik Seeley wrote: On Thu, Oct 14, 2010 at 1:50 PM, Jonathan Rochkind rochk...@jhu.edu wrote: I'm kind of confused about Solr development plans in general, highlighted by this thread. I think 1.4.1 is the latest officially stable release, yes? Why is there both a 1.5 and a 3.x, anyway? Not to mention a 4.x? Which of these will end up being a stable release? Both? From which will come the next stable release? 1.5 is pre lucene/solr merge, and is very unlikely to ever be released. 3.1 is the next lucene/solr point release (3x branch in svn) 4.0 is the next major release (trunk in svn) -Yonik http://www.lucidimagination.com
Re: Which version of Solr to use?
On Thu, Oct 14, 2010 at 2:39 PM, Jonathan Rochkind rochk...@jhu.edu wrote: Thanks Yonik! So I gather that the 1.5 branch has essentially been abandoned, we can pretend it doesn't exist at all, it's been entirely superceded by the 3.x branch, with the changes made just for the purposes of syncronizing versions with lucene. Right. Everything marked as 1.5 in the past is in 3.1-dev and 4.0-dev. 1.5 was always just a place-holder for the next release, which could have been 2.0 if we had upgraded Lucene and changed enough stuff in Solr. So even before the Lucene/Solr merge, a 1.5 release was never really guaranteed. -Yonik http://www.lucidimagination.com
Re: Which version of Solr to use?
Hi, Thank you all for your quick response. Just to clarify I take it for my particular problem (taking advantage of the spatial search functionality) my best option is 3.1 and that should be reasonably stable? As pointed out before it would be useful to have some kind of documented road map for development, and some kind of indication of how close certain versions are to release. Cheers, Mike. On 14 Oct 2010, at 19:47, Yonik Seeley yo...@lucidimagination.com wrote: On Thu, Oct 14, 2010 at 2:39 PM, Jonathan Rochkind rochk...@jhu.edu wrote: Thanks Yonik! So I gather that the 1.5 branch has essentially been abandoned, we can pretend it doesn't exist at all, it's been entirely superceded by the 3.x branch, with the changes made just for the purposes of syncronizing versions with lucene. Right. Everything marked as 1.5 in the past is in 3.1-dev and 4.0-dev. 1.5 was always just a place-holder for the next release, which could have been 2.0 if we had upgraded Lucene and changed enough stuff in Solr. So even before the Lucene/Solr merge, a 1.5 release was never really guaranteed. -Yonik http://www.lucidimagination.com
Re: Which version of Solr to use?
On Thu, Oct 14, 2010 at 2:55 PM, Mike Squire mike.squ...@gmail.com wrote: As pointed out before it would be useful to have some kind of documented road map for development, and some kind of indication of how close certain versions are to release. Such things have proven to be very unreliable in the past, due to the volunteer nature of open source. It would also require everyone agreeing up-front - which rarely happens ;-) Specifically for 3.1, everyone seems to want to do a release, and we have plenty of new features to support that. I expect it's close, but the work still needs to be done. Anyway, our new split branch_3x / trunk development model *should* allow for more frequent releases in the future, once we get things rolling. Side note: I would submit that those projects that release every few weeks add no additional value over our (currently) infrequent releases. Due to our high quality test suites and peer reviewed patches, I'd bet the stability of our nightly snapshots over some of those other projects any day! -Yonik http://www.lucidimagination.com
Re: Which version of Solr to use?
On 14.10.2010, at 21:02, Yonik Seeley wrote: On Thu, Oct 14, 2010 at 2:55 PM, Mike Squire mike.squ...@gmail.com wrote: As pointed out before it would be useful to have some kind of documented road map for development, and some kind of indication of how close certain versions are to release. Such things have proven to be very unreliable in the past, due to the volunteer nature of open source. It would also require everyone agreeing up-front - which rarely happens ;-) well no information imho is worse. you can also just say the current state of discussion is X, some think however its Y. but no information means users are essentially without any information about the future. regards, Lukas Kahwe Smith m...@pooteeweet.org