Redian新闻
>
有人了解 google 的 regular expression search 是怎么实现的吗
avatar
有人了解 google 的 regular expression search 是怎么实现的吗# JobHunting - 待字闺中
r*r
1
For example, "love * price", 其中的 * 代表一个或多个单词,相当于 RE 中的
star 字符, 因此这个搜索串可以 match:
love the price
love its low price
love its really low price
etc.
像这种搜索,如何实现,如何建立索引?
avatar
d*o
2
对于你给的例子,可以做一个trie这样的结构这样所有以love开始的query就可以找到
然后,对于所有的以love开始的query,再看是否match “* price”这个RE。
当然,为了后面的快一些,也可以建立一个反向的trie,索引是从后往前,比如可以找
到所有以price结尾的query。这样反向trie和正向trie的交集就是了。

【在 r******r 的大作中提到】
: For example, "love * price", 其中的 * 代表一个或多个单词,相当于 RE 中的
: star 字符, 因此这个搜索串可以 match:
: love the price
: love its low price
: love its really low price
: etc.
: 像这种搜索,如何实现,如何建立索引?

avatar
r*r
3
两个 trie, 找交集,好像是一种思路?
但是在 apache lucene 中,可以大规模的这样建立 trie 这种结构, 以 index 大规模
数据集吗? 不是很了解这一块。

【在 d****o 的大作中提到】
: 对于你给的例子,可以做一个trie这样的结构这样所有以love开始的query就可以找到
: 然后,对于所有的以love开始的query,再看是否match “* price”这个RE。
: 当然,为了后面的快一些,也可以建立一个反向的trie,索引是从后往前,比如可以找
: 到所有以price结尾的query。这样反向trie和正向trie的交集就是了。

avatar
w*x
4

是不是可以建立reverse indexing, 找出love 和 price所有的交集取love的位置小于
price的集合中的最频繁的字符串

【在 r******r 的大作中提到】
: For example, "love * price", 其中的 * 代表一个或多个单词,相当于 RE 中的
: star 字符, 因此这个搜索串可以 match:
: love the price
: love its low price
: love its really low price
: etc.
: 像这种搜索,如何实现,如何建立索引?

avatar
r*r
5
能详细说说嘛。不是很明白。reverse indexing, 是类似数据库里面的那种概念吗

【在 w****x 的大作中提到】
:
: 是不是可以建立reverse indexing, 找出love 和 price所有的交集取love的位置小于
: price的集合中的最频繁的字符串

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。