python – GAE Search API现在支持部分搜索

前端之家收集整理的这篇文章主要介绍了python – GAE Search API现在支持部分搜索前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

自秋季更新以来,GAE现在支持部分搜索.根据文档:“API支持对字符串字段进行部分文本匹配”.

对于许多线程来说,这似乎是一个非常受欢迎的请求:
Partial matching GAE search API
Does GAE Datastore support ‘partial text search’?

所以我假设搜索’pyt’现在会返回’python’

有没有人得到这个工作?对我不起作用.我很好奇是否需要一些设置,比如〜用于阻止.

最佳答案
“API支持字符串字段上的部分文本匹配”在https://cloud.google.com/appengine/docs/python/search/中是指通过令牌进行匹配.具体来说,见https://cloud.google.com/appengine/docs/python/search/#Python_Tokenizing_string_fields ……:

The string is split into tokens wherever whitespace or special
characters (punctuation marks,hash sign,etc.) appear. The index will
include an entry for each token. This enables you to search for
keywords and phrases comprising only part of a field’s value.

因此你的假设:

So I would assume a search for ‘pyt’ would now return ‘python’

没有根据 – “部分搜索”是指文档的一部分(文本字段中的标记的子集),而不是每个标记的一部分(会导致组合爆炸,例如单个标记python必须是索引为每个条目:

p
py
pyt
pyth
pytho
python
y
yt
yth
ytho
ython
t
th
tho
thon
h
ho
hon
o
on
n

如果你想要这样,很容易编写你自己的代码来产生爆炸(从一个真正的起始文档产生一个包含所有这些子串的伪文档) – 但是,对于任何非平凡的起始文档,你可能很容易结束要么支付荒谬的资源,要么达到绝对最大配额的硬上限.

提示:如果你在网上搜索“pyt”,你会找到包含“python”的文档吗?尝试 – 前者提供1000万次点击(半岛青年剧院,迈克尔杰克逊的P.Y.T.(漂亮的年轻事)等),后者,1.8亿次点击(语言,蛇,喜剧组:-).

猜你在找的Python相关文章