0

We are currently using SOLR for full-text search. Now we are planning to move from SOLR to ElasticSearch. When we were in this process i have read somewhere that there are some plugins available which will migrate data from SOLR-ElasticSearch. But it won't be able to migrate those records which are not stored in SOLR. So is there a plugin available which will migrate non-stored index data from SOLR to elastic search if so please let me know.

Currently am using SOLR-to-ES plugin, but it won't migrate the non-stored index data.

Thanks

Adarsh H D Dev
  • 588
  • 7
  • 29

1 Answers1

2

If the field is not stored, then you don't have the original value. If you have it indexed, what's is in there is the value after it has gone through the analysis chain, and so is probably different than the original one (has no stopwords, is probably lowercased, maybe stemmed...stuff like that).

There are a couple of possibilities that might allow you to have the original content when not stored:

  1. indexed field: if it has been analyzed with just the keyword tokenizer: then the indexed value is the original value.
  2. field has docValues=true then the original value is also stored. This feature was introduced later, so your index might not be using it.

The issue is, the common plugings might not take advantage of those cases where stored=true is not totally necessary. You need to check them.

Persimmonium
  • 15,593
  • 11
  • 47
  • 78
  • Thanks for the Details, In my case yes I do use whitespace tokenizer, would it help me for migrating the non-stored index. Because I have gone through few plugins for migrating data, all of them index the JSON output from SOLR but in our case since the data is not stored they won't be available in output and will not be able to index in elastic search. Is there any other way to achieve this . – Adarsh H D Dev Jan 09 '17 at 07:26
  • No, if you are using that tokenizer, you don't have the original content. You could just append the tokens with spaces etc, but it is not the original content anymore. Might or might not matter to you. Also, you would need to write some application code to do this. – Persimmonium Jan 09 '17 at 17:35