Python嗖嗖 - 从索引字段中获取所有唯一值

时间:2015-03-04 19:25:13

标签: python-3.x whoosh

我有一个git存储库的索引,我在每个文档中保存文件所属的存储库的名称。存储库字段格式为{section}/{repo},它是TEXT字段。 我想要实现非常简单的事情:索引中所有存储库的列表,即 repo字段中所有唯一值的列表。

当我使用

result = searcher.search(query.Every(), groupedby="repo")
for item in result.groups():
    print(item)

打印的值使用“/”分割的字段值,因此我实际上丢失了repo值的{section}部分。

我已将sortable=True添加到repo字段并重新编制了整个索引。现在它返回正确的repo值格式,但只有一个我希望它大约为10.我看到“result”对象中的_facetmaps字段有不正确的值 - 缺少所有的repos值,除了一个。

1 个答案:

答案 0 :(得分:0)

当前的解决方案似乎是使repo成为ID字段,使用searcher.lexicon("repo")来获取唯一值列表

https://bitbucket.org/mchaput/whoosh/issue/407/searched-with-groupedby-returns-incorrect