Roundup Tracker - Issues

Issue 1055435

classification
All text search with RDBMS backend does OR instead of AND
Type: Severity: normal
Components: None Versions:
process
Status: closed fixed
:
: : mklatt, richard
Priority: normal :

Created on 2004-10-27 16:58 by mklatt, last changed 2005-01-04 01:32 by richard.

Files
File name Uploaded Description Edit Remove
indexer_rdbms.py.patch mklatt, 2004-10-27 16:58 Patch for indexer_rdbms.py to perform AND searching
Messages
msg1514 Author: [hidden] (mklatt) Date: 2004-10-27 16:58
According to the file indexer_dbm.py, the Indexer.find
method  finds text that contains all the words searched
for:

    def find(self, wordlist):
        '''Locate files that match ALL the words in
wordlist
        '''

But in the indexer_rdbms.py module, the Indexer.find
method clearly finds text that contain ANY of the
words.  Adding more words to the text search broadens
the search instead of narrowing it.

I've modified the Indexer.find method in
indexer_rdbms.py so that text is only matched if ALL
word are found.  I've attached a patch file of the
change I made, and I would like the change to be
included in a future release.

Thank you!

Michael
msg1515 Author: [hidden] (richard) Date: 2005-01-04 01:32
Logged In: YES 
user_id=6405

I've implemented a simpler version using INTERSECT (sqlite doesn't cope 
with the JOIN syntax you used anyway). Having said that, MySQL uses 
your code because it doesn't implement INTERSECT. Sigh.
History
Date User Action Args
2004-10-27 16:58:04mklattcreate