什么是"基于谓词的搜索"?

Dav*_*ave 4 language-agnostic search

我在咖啡桌谈话中无意中听到了这一点,我无法理解这是什么.一些谷歌搜索没有任何有用的东西......

澄清:感谢大家最初采取它...但似乎谈话是关于"搜索"通过数据库/互联网等....

Aak*_*shM 9

通常,谓词是一个接受一个或多个参数的函数,并返回一个布尔值,指示有关参数的某些语句是true还是false.

自然语言谓词的例子可能是"蓝色","长于两米","由MC Hammer拥有","在地下".

在某些系统上执行搜索时 - 例如文件系统,数据库表,图形 - 可能是系统本身提供了某些内置搜索(文件系统可能有内置的文件名搜索;图表可能按距离给定节点进行内置搜索); 或者,为了更加灵活,可以通过提供自定义谓词函数来进行搜索.

根据细节,此自定义谓词函数可以作为表达式树或指向某些实际可执行代码的指针或要解析的查询表达式传递.所需要的只是系统有一些方法来调用每个候选项的谓词; 并且谓词对每个候选项返回true或false.

然后,搜索结果恰好是自定义谓词返回true的项目.


Pet*_*ans 1

在分布广泛、分片遍布的数据库环境中,使用索引等传统的搜索模式被打破。对于这些数据库,通常会执行映射缩减操作。映射由分片和您传递的谓词隐式确定,该谓词将与谓词匹配的记录映射到结果所需的任何内容。在减少步骤中,完成了必要的聚合等。

也许这符合咖啡桌讨论的背景?