2017-01-27 6 views
0

通常はWhooshでphrase queries正確な数学を検索するにはusing double quotesが得られます。ほとんどの場合、bw2では常に動作するとは限りません(例:see here)。データベースでの正確な検索方法

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',))] 

完全一致検索の方法についてはどのような考えですか?

答えて

2

Whoosh検索インデックスでは難しいと思われるものを見つける最も簡単な方法は、単純にスキップして、生データセットをフィルタリングすることです。

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

Python関数を追加するだけなので、任意の複雑さを加えるのは簡単です。

関連する問題