我可以将文档添加到索引并搜索索引,但如何按语言过滤?例如只有英文文档?
doc = search.Document(doc_id=str(article.key()), fields=[
search.TextField(name='title', value=article.title),
search.TextField(name='text', value=article.text),
search.TextField(name='city', value=article.city),
search.TextField(name='region', value=article.region),
search.NumberField(name='cityID',
value=cityID),
search.NumberField(name='regionID',
value=regionID),
search.NumberField(name='category',
value=int(article.category)),
search.NumberField(name='constant', value=1),
search.TextField(name='articleID', value=str(article.key().id())),
search.TextField(name='name', value=article.name),
search.DateField(name='date',
value=datetime.now().date()),
search.NumberField(name='price', value=price),
search.NumberField(name='mileage', value=mileage),
search.NumberField(name='regdate', value=regdate),
search.TextField(name='type', value=article.type),
search.TextField(name='currency', value=article.currency),
search.NumberField(name='company_article',
value=company_article),
search.NumberField(name='hour',
value=datetime.now().hour),
search.NumberField(name='minute',
value=datetime.now().minute),
search.NumberField(name='hasimages',
value=hasimages),
search.TextField(name='url', value=article.url),
search.TextField(name='serving_url', value=serving_url),
], language=language)
search.Index(name='myIndex').put(doc)
我用代码搜索:
date_desc = search.SortExpression(expression='date',
direction=search.SortExpression.DESCENDING,
default_value=datetime(1999, 01, 01))
hr_desc = search.SortExpression(expression='hour',
direction=search.SortExpression.DESCENDING,
default_value=1)
min_desc = search.SortExpression(expression='minute',
direction=search.SortExpression.DESCENDING,
default_value=1)
# Sort up to matching results by subject in descending order
sort = search.SortOptions(expressions=[date_desc, hr_desc,
min_desc], limit=ACCURACY)
# Set query options
options = search.QueryOptions(limit=doc_limit, cursor=cursor,
sort_options=sort,
number_found_accuracy=10000,
)
query = search.Query(query_string=query_string, options=options)
index = search.Index(name=_INDEX_NAME)
# Execute the query
return index.search(query)
但是如何只搜索英文文档?