haskell search
1.0.0
这是我为了解两件事的个人项目:信息检索系统和解析器组合。
从本质上讲,该程序是一个带有两个命令:索引和查询的REPL。
查看仓库,CD进入目录,运行“堆栈构建”
堆栈:https://docs.haskellstack.org/en/stable/readme/
堆栈很棒。使用堆栈。
您有两个选择。
不要恐慌!这是按预期工作的。这是一个简单的补充,因此程序正在等待您运行命令。该程序支持两个 - 索引和查询。
索引命令索引文档,并准备好进行搜索。该命令需要两个参数。第一个是整数形式的文档索引。第二个是单词列表,被空格分开。
一些示例命令:
请注意,如果您重复使用索引,则将删除上一个文档以新的文档。因此,如果您运行上述命令,然后搜索比萨饼,则不会获得任何结果。
单词列表中的单词必须由字母组成。数字和符号无效,并且会丢失错误。
查询命令在您先前索引的文档上运行搜索。最简单的查询是一个单词:
但是,通过与布尔运营商一起加入术语,它们可以变得更加先进,尤其是| (OR)和&(和),就像这样:
您可以将这些查询嵌套到任意长度中,但是当您添加操作员时,查询将需要更长的时间才能运行。这是因为全文搜索库不支持布尔查询,而只是术语搜索。因此,此应用程序必须加入(通过联合或交叉点)手动列表。
还请注意,每个术语必须嵌套在Parens中。假装您处于LISP的奇怪变体中,您会没事的。
只需输入一个空命令。 CTRL-D也将起作用(EOF)。