I guess if you have stored="true" then there is no problem.

2. If you don't use stored="true" you can still get access to term vectors,
which you can probably reuse to create fake field with same term vector in
an updated document... just an idea, may be I am wrong...
Reconstructing a the field value from a term enum might work... of course the value won't be as the original value, but when indexed, if you don't have any really special filters (e.g. shingle filter), most likely the tokens will be re-indexed as they are (that is, it is most likely that the filters will not have any effect). just make sure to take the position increments in account! for example, if you have synonym filter set up, then you'll need to choose only one term in a single position (otherwise the term frequency of the document will increase on every update).

Uri

Fuad Efendi wrote:
I haven't read all messages in this thread yet, but I probably have an
answer to some questions...

1. You want to change schema.xml and to reindex, but you don't have access
to source documents (stored somewhere on Internet). But you probably use
stored="true" in your schema. Then, use SOLR as your storage device, use
id:[* TO *] to retrieve documents from SOLR and reindex it in another SOLR
schema...

2. If you don't use stored="true" you can still get access to term vectors,
which you can probably reuse to create fake field with same term vector in
an updated document... just an idea, may be I am wrong...


-----Original Message-----
From: Paul Rosen [mailto:p...@performantsoftware.com] Sent: August-27-09 1:22 PM
To: solr-user@lucene.apache.org
Subject: Updating a solr record

I realize there is no way to update particular fields in a solr record. I know the recommendation is to delete the record from the index and re-add it, but in my case, it is difficult to completely reindex, so that creates problems with my work flow.

That is, the info that I use to create a solr doc comes from two places: a local file that contains most of the info, and a URL in that file that points to a web page that contains the rest of the info.

To completely reindex, we have to hit every website again, which is problematic for a number of reasons. (Plus, those websites don't change much, so it is just wasted effort.) (Once in a while we do reindex, and it is a huge production to do so.)

But that means that if I want to make a small change to either schema.xml or the local files that I'm indexing, I can't. I can't even fix minor bugs until our yearly reindexing.

So, the question is:

Is there any way to get the info that is already in the solr index for a document, so that I can use that as a starting place? I would just tweak that record and add it again.

Thanks,
Paul



Reply via email to