On 08/10/2007, Alexander Veremyev <[EMAIL PROTECTED]> wrote:
>
>  Hi,
>
>
>
> Commit should be applied automatically when $index variable goes out of
> scope… So, something is wrong. Could you prepare an example of code to
> reproduce problem?
>

Well, I don't really want to be reproducing it now because it would mess up
all my files and db tables again, but here's the code that's run inside
AdminController::verwijderenAction() :


                $config = new Zend_Config_Ini('./application/config.ini',
'search');
                $index = Zend_Search_Lucene::open($config->index->path);
                $query = new Zend_Search_Lucene_Search_Query_MultiTerm();
                $query->addTerm(new
Zend_Search_Lucene_Index_Term($this->_request->getParam('id'),

'comment_id'), true);
                $query->addTerm(new Zend_Search_Lucene_Index_Term('comment',
'type'), true);
                $hits = $index->find($query);
                foreach($hits as $hit)
                {
                    $index->delete($hit->id);
                }
                $index->commit();

Which did not work when I did not perform $index->commit();

PS TermDocs() should work faster for this purpose (
> http://framework.zend.com/manual/en/zend.search.lucene.best-practice.html#zend.search.lucene.best-practice.unique-id
> ):
>

Thanks, I'm reading it through right now. I also read that an alternative to
$index->commit() is to unsert($index), is that what you meant?

--------------------------------------------------------
>
> $config = new Zend_Config_Ini('./application/config.ini', 'search');
>
> $index = Zend_Search_Lucene::open($config->index->path);
>
>
>
> $idTerm = new
> Zend_Search_Lucene_Index_Term($this->_request->getParam('id'),
> 'comment_id');
>
> $docIds  = $index->termDocs($term);
>
> foreach ($docIds as $id) {
>
>     $doc = $index->getDocument($idTerm);
>
>     if ($doc->type == 'comment') {
>
>         $index->delete($id);
>
>     }
>
> }
>
> ------------------------------------------------
>
>
>
> With best regards,
>
>    Alexander Veremyev.
>
>
>  ------------------------------
>
> *From:* Vincent [mailto:[EMAIL PROTECTED]
> *Sent:* Saturday, October 06, 2007 9:35 AM
> *To:* Rob Allen
> *Cc**:* [email protected]
> *Subject:* Re: [fw-general] Can't delete my index entries with
> Zend_Search_Lucene
>
>
>
>
>
> On 05/10/2007, *Rob Allen* <[EMAIL PROTECTED]> wrote:
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Did you commit() after loop?
>
>
> You see? I said so it would be a stupid mistake... Thanks!
>
>
>
> Regards,
>
> Rob...
>
> Vincent wrote:
> > Hello,
> >
> > I am currently working on this website where users can add comments to
> > messages. At the moment I am trying to allow the admin to delete these
> > comments. However, the code I use can't seem to delete this comment from
> > my search index. I've been struggling with it for a while now and just
> > can't seem to find the answer, so I was hoping to find help here.
> >
> > This is my current code:
> >
> >                 $config = new
> > Zend_Config_Ini('./application/config.ini', 'search');
> >                 $index = Zend_Search_Lucene::open($config->index->path);
>
> >                 $query = new
> Zend_Search_Lucene_Search_Query_MultiTerm();
> >                 $query->addTerm(new
> > Zend_Search_Lucene_Index_Term($this->_request->getParam('id'),
> >
> > 'comment_id'), true);
> >                 $query->addTerm(new
> > Zend_Search_Lucene_Index_Term('comment', 'type'), true);
> >                 $hits = $index->find($query);
> >                 foreach($hits as $hit)
> >                 {
> >                     $index->delete($hit->id);
> >                 }
> >
> > The opening of the index works as it should, and it even is able to find
>
> > my comments (I'm able to do an echo $hit->comment_id within the foreach
> > loop, however, $index->delete($hit->id) doesn't delete the entry. I'm
> > probably doing something incredibly stupid here, so I hope that you will
>
> > be able to help me.
> >
> > Thanks in advance,
> >
> > --
> > Vincent
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.7 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iD8DBQFHBgxz421+qn4cITwRAuz5AJ4nDMELOebWMPWRUDR8YjdoySVdLQCeN6mi
> e3KCrQkYaHtOTAquoK/2KO8=
> =vSHY
> -----END PGP SIGNATURE-----
>
>
>
>
> --
> Vincent
>



-- 
Vincent

Reply via email to