Ho una funzione che cerca una stringa in una lista di liste quindi restituisce una lista contenente le liste corrispondenti:Python stringa avanzata ricerca con gli operatori e booleano
def foo(myList,keyword,first=True):
if first: #Search only first element or each sublist
return [x for x in myList if keyword in x]
else: #Search first and second elements of each sublist
return [x for x in myList if keyword in x or keyword in x[1]]
ora voglio estenderlo a gestire la ricerca avanzata con domande come:
matchthis -butnothis -"and not this"
this|orthis|"or this"
brand new*laptop # this is a wildcard, matches like: brand new dell laptop
"exact phrase"
Esistono moduli Python (preferibilmente incorporato) che posso usare nella mia funzione di gestire queste domande?
PS: Sono a conoscenza di Swoosh ma al momento non è la soluzione giusta per me. Inoltre, attualmente sto usando App Engine.
Quello che sto cercando di fare fondamentalmente è la ricerca full-text in memoria, dal momento che il motore di app non supporta ancora la ricerca full-text. Interrogo il datastore, metto le entità in liste e faccio il giro di questi elenchi per trovare le corrispondenze delle query.
questo sembra molto promettente, lasciatemi fare un tentativo. – ofko
questa è la perfezione! Grazie. – ofko