Tôi có một chức năng để tìm kiếm một chuỗi trong một danh sách liệt kê sau đó trả về một danh sách có chứa danh sách phù hợp:Python chuỗi tiên tiến tìm kiếm với các nhà khai thác và boolean
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]]
Bây giờ tôi muốn mở rộng nó để xử lý tìm kiếm nâng cao với các truy vấn như:
matchthis -butnothis -"and not this"
this|orthis|"or this"
brand new*laptop # this is a wildcard, matches like: brand new dell laptop
"exact phrase"
Có bất kỳ mô-đun trăn (tốt nhất là nội trang) mà tôi có thể sử dụng trong chức năng để xử lý các truy vấn này không?
PS: Tôi biết Swoosh nhưng nó không phù hợp với tôi vào lúc này. Ngoài ra, tôi hiện đang sử dụng App Engine.
Điều tôi đang cố gắng thực hiện cơ bản là tìm kiếm toàn văn bản trong bộ nhớ, vì công cụ ứng dụng không hỗ trợ tìm kiếm toàn văn. Tôi truy vấn kho dữ liệu, đưa các thực thể vào danh sách và lặp qua các danh sách đó để tìm các kết quả truy vấn.
trông rất hứa hẹn, hãy để tôi thử. – ofko
đây là sự hoàn hảo! Cảm ơn bạn. – ofko