フリーテキスト検索機能を実装しています。ユーザーは、日付文字列などの任意のキーワードを入力できます。
「2013 年 10 月」、「2013 年 10 月」、「2013 年 10 月」などはすべて認識される必要があります。また、App Engine 検索 API は日付形式を YYYY-MM-DD としてしか認識しないため、「2013 Oct」を取得した場合、「search_date >= 2013-10-01 and search_date <= 2013-10-31」に変換する必要があります。 .
私はなんとかdateutil.parser.parse(search_date_str)を使用しましたが、日付コンポーネントが欠落している場合、今日のデータが使用されるという問題があります。たとえば、「2013 Oct」は「2013-10-27」として解析されます。その場合、ユーザーが「2013 Oct 27」と入力しているのか、単に「2013 Oct」と入力しているのかわかりません。年で検索する場合も同じです...ユーザーが「2013」を検索したい場合は、「2013-10-27」ではなく[2013-01-01、2013-12-31]に変換できるはずです
どうすればいいのかわからない?RegExが必要かどうかを考えています(私はそれが本当に苦手です...)