2017-01-27 1 views
0

일반적으로 정확한 수학을 검색하는 phrase queries은 Whoosh에서 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')] 

그냥 파이썬 기능을 추가하기 때문에 임의의 복잡성을 추가하는 것은 매우 쉽습니다.

관련 문제