↑をboto3でやってみました。
cloudsearchdomain.py
import boto3
endpoint_url = 'https://search-todofuken-XXXXXXXXXXXXXXXXXXXXXXXXX.ap-northeast-1.cloudsearch.amazonaws.com'
cloudsearchdomain = boto3.client(
'cloudsearchdomain', endpoint_url=endpoint_url)
query = """
(and
prefecture:'{prefecture}'
city:'{city}'
(range
field=zip [{from_zip}, {to_zip}]
)
)
""".format(prefecture='宮城県', city='仙台市', from_zip=9830000, to_zip=9830100)
returnFields = [
'city',
'kana_town',
]
results = cloudsearchdomain.search(
query=query,
queryParser='structured',
returnFields=','.join(returnFields),
size=3)
print('found:%d' % results["hits"]["found"])
print('count:%d' % len(results["hits"]["hit"]))
for item in results["hits"]["hit"]:
print(item["fields"])
$ python cloudsearchdomain.py
found:34
count:3
{'city': ['仙台市宮城野区'], 'kana_town': ['タゴ']}
{'city': ['仙台市宮城野区'], 'kana_town': ['タゴニシ']}
{'city': ['仙台市宮城野区'], 'kana_town': ['ツルマキ']}
CloudSearchのboto3のサンプルコードあんまり転がってないので参考になれば。