On Mar 7, 2008, at 7:28, Sebastian Steins <[EMAIL PROTECTED]>
wrote:
Hi there,
first of all, I want to introduce myself, because I have not posted
here before. My name is Sebastian and I am currently working as web
application developer. Search and Information Retrieval are not part
of my current work, but I am interested in those fields as a hobby.
I was triggered by the book "Programming Collective Intelligence"
which describes very complex algorithms like clustering in a very
easy way and shows the solutions in plain python code with SQLite
bindings.
I was very ardent by the solutions in the book, so I tried to modify
them for some experiments and I wanted to use Lucene instead of
PyLucene.
Did you mean to say "Lucene instead of SQLlite" ?
For now, I have a simple script which inserts articles from a RSS
feed into a Lucene index using PyLucene.
An article has also outgoing links, which I store this way:
#### Code ####
for link in params['links']:
doc.add(self.Lucene.Field("linksto", link,
self.Lucene.Field.Store.YES, self.Lucene.Field.Index.UN_TOKENIZED))
#### /Code ####
Is that a good way? Or is there another way in Lucene to store
"relational" data? How would it be possible to retrieve the document
with the most incoming links? Or the document with the greatest
number of outgoing links?
Lucene is not relational database but I assume you know that. It
indexes text tokens and returns documents that contain them.
Additionally, I want to calculate the similarity between documents
with my script, using K-Means, Dendograms and other things (mostly
described in the book mentioned above). Therefore, I would have to
compare a recently found (crawled) article, which is to be written
to the index with all articles in the Lucene index. How can that be
achieved in a more elegant way than doing a for-loop from 0 to
numDocs()? Is there a cheaper (in means of computer ressources) way?
Lucene can do that for you if you index your documents with term
vectors. The "Lucene in Action" book (recommended reading) has an
example on how to implement this. The sample code (called
MoreLikeThis) is available in PyLucene in Python
Unfortunatelly, I am not very familar with Java, so my reasearch for
the above questions in the sites around the Lucene-community did not
help really.
Try harder.
The [EMAIL PROTECTED] has a large community of users that
can help you with Lucene how-to questions that are independent of the
eventual implementation language.
Lucene is implemented in Java, PyLucene just wraps it with Python
wrappers. Familiarity with Java code and docs can be helpful. The
pylucene-dev list you just wrote to is about specific issues related
to that, not general Lucene how-to topics.
I found Mahout, a Java-prorgramm for k-means and other similar
algorithms for Lucene. However, this didn't help, because I want to
implement my experiments in Python, not Java.
Get the theory questions answered first with the book, the web and the
java-user list. Then, take a look at the many python samples that ship
with PyLucene to see how you could apply the solutions you found with
Python.
Andi..
Thank you very much for your help!
Sebastian
_______________________________________________
pylucene-dev mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/pylucene-dev
_______________________________________________
pylucene-dev mailing list
[email protected]
http://lists.osafoundation.org/mailman/listinfo/pylucene-dev