0

Google App Engine テキスト検索を使用して、完全な日付の値 (誕生日など) ではなく、月ごとにフィルター処理されたエンティティを取得する必要があります。GAE ドキュメントを確認したところ、日付フィールドを月ごとに直接クエリすることはできないと思います。

したがって、月/日でフィルター処理するために、日付 (DD)、月 (MM)、年 (YYYY) などの各日付サブ値を、完全な日付フィールドと共に個別の NUMBER フィールドとして保存することを検討します。

このように保存することで達成できることをローカルで確認しました。しかし、これは、日付のサブ値を照会するときに各フィールドを分割して日付を保存する正しい方法ですか?

GAE Text Search の 10GB のサイズ制限以外に、ドキュメントあたりのフィールド数に既知/未知の制限はありますか?

私に提案してください。

ありがとう、ナレシュ

4

1 に答える 1

0

NUMBER フィールドまたは DATE フィールドが意味を持つのは、値の範囲に対してクエリを実行する必要がある場合のみです。それ以外の場合、それらは無駄です。

あなたの質問からは、どのクエリを実行したいのか正確にはわかりません。月の (1 つの) 特定の日 (たとえば、1 月 6 日など) を探していますか? それとも「6月の何か(年に関係なく)」だけですか?それとも、1 月 20 日から 2 月 19 日までのような日付範囲ですか? それとも7月1日から9月30日まで?

範囲の場合は、NUMBER 値が適切な場合があります。しかし、それが特定の 1 つの月、または 1 つの月と日の組み合わせである場合は、月と日を別々の ATOM フィールドとして格納する方が適切です。

数値のように見えても、実際には数値範囲で検索されたり、算術演算が行われたりしないものは、実際には数値ではなく、おそらく ATOM として保存するのが最適です。たとえば、電話番号、郵便番号 (あなたが非常に賢く、「サンフランシスコのすべての郵便番号は 941xx のように見える」などのことをしたい場合を除きますが、それでもそれがあなたのやりたいことである場合は、おそらくあなたの方が良いでしょう)。 「941」プレフィックスをATOMとして保存するだけです)。

于 2016-06-25T22:01:22.047 に答える