【发布时间】:2012-05-09 20:59:58
【问题描述】:
我只能在 Google App Engine 的实验性 Search API 中找到与查询完全匹配的词组。例如,查询“最佳价格酒店”将仅匹配该确切短语。它不会匹配诸如“最优酒店价格”或“最优价格酒店”之类的文本。以一般方式匹配文本当然是一项困难得多的任务,但我认为 Search API 至少能够处理其中的一些。
另一个例子是查询“new cars”,它与文本“new and used cars”不匹配。
【问题讨论】:
-
问题是新的搜索 API 中是否提供了更通用的词组匹配。我现在已经通过使用类似 'text_field:(best AND prices AND hotel) 的查询解决了这个问题,它实际上工作得很好,我也许可以扩展该解决方案。
-
你的想法是对的。即将单词分解为适合您要求的布尔搜索短语(AND vs OR)。
-
是的,例如,这样的查询效果很好:(best AND (prices OR price) AND (hotel OR hotels))
-
另外,我相信这个查询应该给你同样的结果:
best (prices OR price) (hotel OR hotels)。对于“新车”示例,不要将其括在引号中(这使它成为一个短语),而只需搜索new cars,即隐式为new AND cars。 -
我建议在 GAE 搜索 API 跟踪器页面上关注并关注此问题 (goo.gl/9l2bz)。另外,特别请求这种类型的功能,尽管我确信如果 Google 的聪明人确实为文档搜索实现了模糊搜索逻辑,那么他们会实现此功能。
标签: google-app-engine full-text-search gae-search