Install ComplexPhraseQueryParser with Solr 4.2 - solr

In reference to my other SO question (Using solr 4.2 how do I use/enable fuzzy phrase searching)
I was told I can get fuzzy phrases working by installing the plugin mentioned there (https://issues.apache.org/jira/browse/SOLR-1604). However, with every attempt I've made I cannot get it to work. When I download the latest dated file, there is not readme or install directions. Also, I'm not entirely sure that there is a version for Solr 4.2 yet.
Can someone provide me with instructions on how to install that plugin with Solr 4.2?

I was just looking at this myself. According to another SO question (https://stackoverflow.com/a/28463319/1222019) that parser was added in Solr 4.8, though it may be possible to add it to the solr war file in earlier versions and recompile.

Related

Sitecore and SolrCloud switch on rebuild

As you may already know that Sitecore, configured to work with SolrCloud, does not support index switch on rebuild. Is there a way to achieve this with version 4.10.3 of Solr and Sitecore 8.0?
We found a link - https://github.com/SitecoreSupport/Sitecore.Support.449298 - but this has only been tested from version 5.2.1 to 5.5.1. Does anyone have any experience implementing this for version 4.10.3? Any issues that we may need to be aware of?
Thanks
This patch was created as the old SwitchOnRebuild used the Solr Core switching API which is now deprecated in version 5.* and above. It was not recommended when running in SolrCloud mode due to an issue with Zookeeper.
This code uses the Solr 'collections' API (/solr/admin/collections?action=LIST) instead , you would need to check if this API is available for Solr 4.10 (I think it is but I'm not 100% sure)
You would then just need to ignore the parts about the schemaFactory as that is Solr 5.* specific.
Note that this patch relies on the 405677 patch to be applied too.

Is it possible to upgrade from Solr 4.x directly to Solr 6.1?

We are looking to upgrade from SolrCloud 4.10.3 to SolrCloud 6.1. The documentation for Solr 6.1 is not very clear on backward compatibility.
I came across this post on the LucidWorks site.
The index format is backward compatible between two consecutive major
Solr versions. So a Solr 3.x index is compatible with a Solr 4.x
index. However if you have a Solr 1.x index and want to upgrade to
Solr 4.x then you would need to first upgrade to Solr 3.x first.
It was written before Solr 6.x was out, and the wording of "between two consecutive major Solr versions" is unclear. The example skips the exact scenario that I'm interested in (skipping exactly 1 major version).
Do I have to first upgrade to Solr 5.x and then go to Solr 6.1?
Since I face same situation on upgrading SOLR from 4.x to 6.x I have been lucky and found on git hub next script, that is making the upgrade:
https://github.com/cominvent/solr-tools.git/
All the credits goes to "cominvent" for this script.
Since the folder cores vers 4.x structure is not same with version 6.x I have made a script that is creating the right tree configuration, then is applying upgradeindex.sh.
The script (buildsorltree.sh) can be found on https://github.com/cradules/bash_scripts and the repo dose have upgradeindex.sh too. Since I have linked this too scripts, I put them on same repo. Good luck!
I was able to find this on the Apache website.
Solr 6 has no support for reading Lucene/Solr 4.x and earlier indexes.
Be sure to run the Lucene IndexUpgrader included with Solr 5.5 if you
might still have old 4x formatted segments in your index.
Alternatively: fully optimize your index with Solr 5.5 to make sure it
consists only of one up-to-date index segment.
So this means that you can upgrade directly, but only if you run the IndexUpgrader from Solr 5.5 first.

Mahout & Lucene Version Compatibility

I am trying to use Mahout to do some analysis on the term vectors stored in my Solr/Lucene index. Unfortunately, it seems that the latest Mahout release is behind the latest Solr/Lucene release.
My Solr/Lucene installation is 4.10.3. As far as I can tell, the latest Mahout release (1.0) expects Lucene indexes at version 4.6.1.
When I run mahout lucene.vector I get the error:
Exception in thread "main" org.apache.lucene.index.IndexFormatTooNewException: Format version is not supported (resource: MMapIndexInput(path="/path/to/data/index/segments.gen")): -3 (needs to be between -2 and -2)
I have tried two things so far to tackle this problem:
First, I edited my solrconfig.xml file to say:
<luceneMatchVersion>4.6.1</luceneMatchVersion>
delete my indexed data, and built a clean index from the original documents. This has done nothing to fix the error.
So secondly, I tried to change the lucene.version in the Mahout pom.xml file to 4.10.3 and recompile the binary to see if the capabilities had been added yet. I knew this was unlikely to work, but tried anyway.
My question is, how do I appropriately change the Lucene version that Solr uses for writing index files if it is not the above luceneMatchVersion setting in solrconfig.xml?
Mahout seems to support Solr 3.x for now. You may try this patch for mahout.

Compatibility :Liferay 6.1.2 ce ga3 and solr 4.6

Can any one tell me liferay 6.1.2 ce ga3 on tomcat 7 and solr 4.6 on tomcat 7 are compatible?
Used the solr web portlet avaible from liferay market.
I am working on this from last 3 days and i am still getting version issues,executing query issues ,SolrCore 'collection1' is not available issues, CommonsHTTPSolrServer even after following lot of suggestion.
I tried all permutation regarding the jars.
slf4j-api-1.6.6
slf4j-log4j12-1.6.6
slf4j-simple-1.6.6
solr-common-1.3.0
solr-core-4.6.0
solr-solrj-4.6.0
httpclient-4.3.1
httpcore-4.3
httpmime-4.3.1
I also raised this issue on liferay support forum : https://issues.liferay.com/browse/LPS-42758
No they are not compatible (out of the box).
But it is doable, at least it is with Solr 4.4.0 and 4.5.1, so I would guess with Solr 4.6.0 also.
General steps to make it work:
solr-web
download latest solr-web plugin (source) for 6.1.x
modify dependacies (see below)
modify source files (resolve compilation errors)
modify solr-spring.xml (if needed)
modify schema.xml (look at both liferay's and solr version, and "merge" (what makes sense) them)
List of jars
commons-codec-1.6.jar
commons-io-2.1.jar
httpclient-4.2.3.jar
httpcore-4.2.2.jar
httpmime-4.2.3.jar
noggit-0.5.jar
portal-compat-shared.jar
slf4j-api-1.6.1.jar
solr-solrj-4.5.1.jar
wstx-asl-3.2.7.jar
zookeeper-3.4.5.jar (probably could be removed, I did not)
Additional (provided) jars not packaged in war
portal-service-6.1.1.jar
util-java-6.1.1.jar
servlet-api-2.5.jar
Specifically for CommonsHTTPSolrServer ClassNotFoundException
in BasicAuthSolrServer constructor you should use HttpSolrServer, instead of CommonsHTTPSolrServer

What are the differences between Solr 3.6.2 and Solr 4.0?

Are there any major differences between Solr 3.6 and Solr 4.0 other than new features? Am I safe using my existing queries (those that work in Solr 3.6) inside of Solr 4.0?
Are there any major differences between Solr 3.6 and Solr 4.0 other
than new features?
I find this question weird, least to say. Bug fixes and new features are the whole point of releases!
You can look at the full changelog of the Solr release which is a available here. Don't forget that Solr and Lucene are released in unison so you also need to look for relevant changes in both projects.
Am I safe using my existing queries (those that work in Solr 3.6)
inside of Solr 4.0?
Queries should be fine, but indices - probably not. Quoting javanna from another SO post:
The index format has changed, but Solr will take care of upgrading the
index. That happens automatically once you start Solr with your old
index. But after that the index cannot be read anymore by a previous
Solr/lucene version.
Ideally they should work.
You can probably check the Changes.txt which would give an idea of all the new features, Changes, Bug fixes, Optimization done.
If any things breaks, you can always refer to the Changes to check if any related has been changed.

Resources