我有一个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值,除了一个。
答案 0 :(得分:0)
当前的解决方案似乎是使repo成为ID字段,使用searcher.lexicon("repo")
来获取唯一值列表
https://bitbucket.org/mchaput/whoosh/issue/407/searched-with-groupedby-returns-incorrect