【问题标题】:Is there a way to search by a specific language using Google App Engine Search API?有没有办法使用 Google App Engine Search API 按特定语言进行搜索?
【发布时间】:2014-08-28 20:58:38
【问题描述】:

创建Document对象时,可以指定文档的语言: 见https://developers.google.com/appengine/docs/python/search/documentclass

现在,假设我要搜索 language = 'en' 的文档。

有没有办法做到这一点?

【问题讨论】:

  • 据我所知,通过快速阅读源代码,该语言仅用于更改输入字段的标记方式——您无法搜索它。如果要搜索它,则需要将其添加为额外字段并将其添加到 @Julldar 演示的查询字符串中。
  • 是的,我想。感谢您的回答!

标签: python google-app-engine


【解决方案1】:

正如您提供的文档指出的那样,您可以这样做:

index.search("产品 = 钢琴 AND 价格

所以我猜你的情况:

index.search("language = en")

或者您的意思是“我只想对英文文档进行全文搜索”?

假设这就是你的意思....如果你按照这个文档所说的,你实际上可以做到:

https://developers.google.com/appengine/docs/python/search/query_strings#Python_Mixing_global_and_field_searches

index.query("keyboard great language=en")

将(根据文档,老实说我没有测试过)在所有带有“language=en”的文档中寻找“keyboard great”

[编辑] 因为正如 mgilson 指出的那样,“语言”字段对于文档是不可查询的,所以您不能开箱即用,我认为唯一的解决方案是在搜索字段中添加一个“语言”字段您的文档并使用本答案其余部分中解释的方法进行搜索:)

【讨论】:

  • 我不认为这就是 OP 的意思。
  • 我看不出他想要什么。我提供了一种获取所有 language=en 的文档的方法,以及一种在 language=en 的文档中使用搜索 API 的方法。你认为他的意思是什么?
  • 搜索 API 文档有一个语言属性,该属性可以传递给构造函数,该构造函数不是搜索字段。 OP 想知道他们是否可以以此过滤结果。
  • 哦,语言不是搜索字段吗?我确信确实如此。是的,我的错。但是...为简单起见,他不能只添加一个“语言”可查询字段并使用它吗?
  • aaa 我刚刚看到你对这个问题的评论:P 所以是的,我认为这是唯一可行的解​​决方案
猜你喜欢
  • 2014-06-25
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2021-08-22
  • 1970-01-01
  • 2014-08-07
  • 2014-07-14
相关资源
最近更新 更多