0

通常在 Whooshphrase queries中搜索精确数学是使用双引号获得的。它似乎在 bw2 中最有效,但并非一直有效(例如,请参见此处)。

db.search('"{}"'.format("Carbon dioxide, from soil or biomass stock"))

['Carbon dioxide, from soil or biomass stock' (kilogram, None, ('air','non-urban air or from high stacks')), 
'Carbon dioxide, to soil or biomass stock' (kilogram, None, ('soil', agricultural')), 
'Carbon dioxide, from soil or biomass stock' (kilogram, None, ('air', 'urban air close to ground')),
'Carbon dioxide, from soil or biomass stock' (kilogram, None, ('air',)),
'Carbon dioxide, to soil or biomass stock' (kilogram, None, ('soil', 'forestry')),
'Carbon dioxide, from soil or biomass stock' (kilogram, None, ('air', 'indoor')),
'Carbon dioxide, from soil or biomass stock' (kilogram, None, ('air', 'lower stratosphere + upper troposphere')),
'Carbon dioxide, to soil or biomass stock' (kilogram, None, ('soil', 'industrial')),
'Carbon dioxide, from soil or biomass stock' (kilogram, None, ('air', 'low population density, long-term')),
'Carbon dioxide, to soil or biomass stock' (kilogram, None, ('soil',))]

关于如何获得完全匹配搜索的任何想法?

4

1 回答 1

2

在 Whoosh 搜索索引中查找看似困难的内容的最简单方法是简单地跳过它,并过滤原始数据集,例如

[ds for ds in db if ds['name'].startswith('Carbon dioxide, from soil or biomass stock')]

添加任意复杂性非常容易,因为您只是添加 Python 函数。

于 2017-01-27T11:50:38.930 回答