Added float type to build_schema. Floats were being indexed as text.

This commit is contained in:
David Sauve 2009-08-29 18:04:28 -04:00
parent 4ea8271fb3
commit d593924386
2 changed files with 5 additions and 1 deletions

View File

@ -177,6 +177,8 @@ class XapianSearchBackendTestCase(TestCase):
self.assertEqual([result.pk for result in self.sb.search('index value:10..15')['results']], [2, 3])
self.assertEqual([result.pk for result in self.sb.search('index value:..10')['results']], [1, 2])
self.assertEqual([result.pk for result in self.sb.search('index value:10..*')['results']], [2, 3])
self.assertEqual([result.pk for result in self.sb.search('index popularity:..100.0')['results']], [2])
self.assertEqual([result.pk for result in self.sb.search('index popularity:100.0..*')['results']], [1, 3])
def test_field_facets(self):
self.sb.update(self.msi, self.sample_objs)
@ -345,7 +347,7 @@ class XapianSearchBackendTestCase(TestCase):
self.assertEqual(fields, [
{'column': 0, 'type': 'text', 'field_name': 'name', 'multi_valued': 'false'},
{'column': 1, 'type': 'text', 'field_name': 'text', 'multi_valued': 'false'},
{'column': 2, 'type': 'text', 'field_name': 'popularity', 'multi_valued': 'false'},
{'column': 2, 'type': 'float', 'field_name': 'popularity', 'multi_valued': 'false'},
{'column': 3, 'type': 'long', 'field_name': 'value', 'multi_valued': 'false'},
{'column': 4, 'type': 'boolean', 'field_name': 'flag', 'multi_valued': 'false'},
{'column': 5, 'type': 'date', 'field_name': 'pub_date', 'multi_valued': 'false'},

View File

@ -488,6 +488,8 @@ class SearchBackend(BaseSearchBackend):
field_data['type'] = 'date'
elif isinstance(field_class, IntegerField):
field_data['type'] = 'long'
elif isinstance(field_class, FloatField):
field_data['type'] = 'float'
elif isinstance(field_class, BooleanField):
field_data['type'] = 'boolean'
elif isinstance(field_class, MultiValueField):