次の形式のクラウド検索ドキュメントがあり、単純なqueryParserを使用しています。だから、私が 'abc'を検索すると、2つの文書がfirstnameを "abc"として含むので2つの結果が得られます。次のレベルに引き上げて、クエリに日付範囲を追加するにはどうすればよいですか?何かのように、私は2つの日付の間に "abc"を検索したいのですが、開始時刻= = date1で、< date2を開始しました。私が考えることのできるアプローチの1つは、ドキュメントをアップロードする前に、開始されたフィールドをtimeinillisに変換して範囲を変更することです。それがこれに近づく唯一の方法ですか、あるいは日付の範囲を作ることもできますか?Cloudsearch日付範囲
{
"id": "d48810e8-082a-4422-887c-a3a69aa95f3e",
"fields": {
"origin": [
"http://localhost:3006"
],
"firstname": [
"abc"
],
"started": [
"2017-03-30T15:45:03.848Z"
],
"lastname": [
"xyz"
]
}
},
{
"id": "47ae007e-41ec-4110-82f1-716d4e48670c",
"fields": {
"origin": [
"http://localhost:3006"
],
"firstname": [
"opq"
],
"lastname": [
"rst"
],
"started": [
"2017-01-09T20:00:47.264Z"
]
}
},
{
"id": "6a6df5be-9518-44f4-8b9d-62ff21c5e89c",
"fields": {
"origin": [
"http://localhost:3006"
],
"firstname": [
"abc"
],
"lastname": [
"xyz"
],
"started": [
"2017-01-18T19:09:01.318Z"
]
}
}
応答に感謝@alexroussos。その唯一の問題は、firstnameだけでなく、ドキュメント内のどのフィールドでも 'abc'を検索したいということです。私は今、単純なクエリパーサーを使用しているので、私のcloudsearchは、 'abc'を含むすべてのドキュメントを任意の値で返します。 – Rama
フィールドを指定しないでください。 'q.options'のドキュメントから:_検索にフィールドが指定されておらず、このオプションが指定されていなければ、静的に設定されたすべてのテキストとテキスト配列フィールドが検索されます._ http://docs.aws.amazon.com/ cloudsearch/latest/developerguide/search-api.html – alexroussos
良いアイデアのように聞こえます。ご協力いただきありがとうございます。 – Rama