DIGY - that won't work if the fields are not stored, though.
Erik
On Aug 30, 2007, at 4:12 AM, DIGY wrote:
Hi George,
What I was trying to say was simply:
IndexSearcher sr = new IndexSearcher(@"c:\temp\blabla");
for (int i = 0; i < sr.Reader.NumDocs(); i++)
{
Document d = sr.Reader.Document(i);
//Create NewDoc
//Write NewDoc to Second Index
}
DIGY
-----Original Message-----
From: George Aroush [mailto:[EMAIL PROTECTED]
Sent: Thursday, August 30, 2007 5:30 AM
To: [email protected]
Subject: RE: Can a Lucene field be renamed in a Lucene index?
Hi DIGY,
I don't understand. How can one read documents from the source
index? Yes,
this would be possible if my source index also contains the raw-
text (for
each field).
Regards,
-- George
-----Original Message-----
From: DIGY [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 29, 2007 10:14 PM
To: [email protected]
Subject: RE: Can a Lucene field be renamed in a Lucene index?
Hi George,
I haven't seen any API to do that thing, but one possibility can be:
Reading the all docs from source index
And writing the new values to the second one (Of course this
is re-index but does not require the original documents)
DIGY
-----Original Message-----
From: George Aroush [mailto:[EMAIL PROTECTED]
Sent: Thursday, August 30, 2007 5:03 AM
To: [email protected]
Subject: Can a Lucene field be renamed in a Lucene index?
Hi everyone,
I have the following need and I wander what are my options or
if anyone run into it and has a solution / suggestion.
I'm indexing a SQL database. Each table is a Lucene index.
Now, in table "A", I have a field called "Foo". When I index
it into Lucene, I also end up with a field called "Foo".
Later on, the SQL database administrator, will change the
field name from "Foo" to "Bar". Once this happens, any new
records added to table "A" will be indexed into Lucene as "Bar".
The issue is this, Lucene index for table "A" now has
documents with some having a field called "Foo" and others
with "Bar". This is problematic because now a user can't
just search for "Foo:dog", but must search for "Foo:dog Bar:dog".
So, what are my options here? No, I can't re-index.
Ideally, I would like to be able to say to Lucene, "rename
the field 'Foo' to 'Bar' in the index 'A'" (even if it means
using private APIs). Is this possible? Have you run into
this problem? What was your solution?
Regards,
-- George