On Nov 21, 2006, at 12:38 PM, jm wrote:
Ok, thanks, I'll give MemoryIndex a go, and if that is not good enoguh
I will explore the other options then.
To get started you can use something like this:
for each document D:
MemoryIndex index = createMemoryIndex(D, ...)
for each query Q:
float score = index.search(Q)
if (score > 0.0) System.out.println("it's a match");
private MemoryIndex createMemoryIndex(Document doc, Analyzer
analyzer) {
MemoryIndex index = new MemoryIndex();
Enumeration iter = doc.fields();
while (iter.hasMoreElements()) {
Field field = (Field) iter.nextElement();
index.addField(field.name(), field.stringValue(), analyzer);
}
return index;
}
On 11/21/06, Wolfgang Hoschek <[EMAIL PROTECTED]> wrote:
On Nov 21, 2006, at 7:43 AM, jm wrote:
> Hi,
>
> I have to decide between using a RAMDirectory and MemoryIndex, but
> not sure what approach will work better...
>
> I have to run many items (tens of thousands) against some
queries (100
> at most), but I have to do it one item at a time. And I already
have
> the lucene Document associated with each item, from a previous
> operation I perform.
>
> From what I read MemoryIndex should be faster, but apparently I
cannot
> reuse the document I already have, and I have to create a new
> MemoryIndex per item.
A MemoryIndex object holds one document.
> Using the RAMDirectory I can use only one of
> them, also one IndexWriter, and create a IndexSearcher and
IndexReader
> per item, for searching and removing the item each time.
>
> Any thoughts?
The MemoryIndex impl is optimized to work efficiently without reusing
the MemoryIndex object for a subsequent document. See the source
code. Reusing the object would not further improve performance.
Wolfgang.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]