Mam funkcja, która przeszukuje ciąg na liście list następnie zwraca listę zawierającą list Dopasowanie:Python zaawansowany ciąg poszukiwania z operatorami i logiczną
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]]
Teraz chcę przedłużyć go obsłużyć Zaawansowane wyszukiwanie z zapytaniami takimi jak:
matchthis -butnothis -"and not this"
this|orthis|"or this"
brand new*laptop # this is a wildcard, matches like: brand new dell laptop
"exact phrase"
Czy są jakieś moduły Pythona (najlepiej wbudowane), których mogę użyć w mojej funkcji do obsługi tych zapytań?
PS: Jestem świadomy Swoosh, ale w tej chwili nie pasuje mi to. Ponadto używam App Engine.
Co staram się zasadniczo zrobić, to wyszukiwanie pełnotekstowe w pamięci, ponieważ aparat aplikacji nie obsługuje jeszcze wyszukiwania pełnotekstowego. Pytam datastore, umieszczam podmioty na listach i przechodzę przez te listy, aby znaleźć dopasowania zapytań.
to wygląda bardzo obiecująco, pozwól mi spróbować. – ofko
to jest perfekcja! Dziękuję Ci. – ofko