本文整理汇总了Python中haystack.backends.whoosh_backend.SearchBackend._from_python方法的典型用法代码示例。如果您正苦于以下问题:Python SearchBackend._from_python方法的具体用法?Python SearchBackend._from_python怎么用?Python SearchBackend._from_python使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类haystack.backends.whoosh_backend.SearchBackend
的用法示例。
在下文中一共展示了SearchBackend._from_python方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: WhooshSearchBackendTestCase
# 需要导入模块: from haystack.backends.whoosh_backend import SearchBackend [as 别名]
# 或者: from haystack.backends.whoosh_backend.SearchBackend import _from_python [as 别名]
#.........这里部分代码省略.........
self.assertEqual(len(self.whoosh_search(u'*')), 23)
# Unsupported by Whoosh. Should see empty results.
self.assertEqual(self.sb.more_like_this(self.sample_objs[0])['hits'], 0)
# Make sure that swapping the ``result_class`` doesn't blow up.
try:
self.sb.search(u'index document', result_class=MockSearchResult)
except:
self.fail()
def test_delete_index(self):
self.sb.update(self.smmi, self.sample_objs)
self.assert_(self.sb.index.doc_count() > 0)
self.sb.delete_index()
self.assertEqual(self.sb.index.doc_count(), 0)
def test_order_by(self):
self.sb.update(self.smmi, self.sample_objs)
results = self.sb.search(u'*', sort_by=['pub_date'])
self.assertEqual([result.pk for result in results['results']], [u'1', u'3', u'2', u'4', u'5', u'6', u'7', u'8', u'9', u'10', u'11', u'12', u'13', u'14', u'15', u'16', u'17', u'18', u'19', u'20', u'21', u'22', u'23'])
results = self.sb.search(u'*', sort_by=['-pub_date'])
self.assertEqual([result.pk for result in results['results']], [u'23', u'22', u'21', u'20', u'19', u'18', u'17', u'16', u'15', u'14', u'13', u'12', u'11', u'10', u'9', u'8', u'7', u'6', u'5', u'4', u'2', u'3', u'1'])
results = self.sb.search(u'*', sort_by=['id'])
self.assertEqual([result.pk for result in results['results']], [u'1', u'10', u'11', u'12', u'13', u'14', u'15', u'16', u'17', u'18', u'19', u'2', u'20', u'21', u'22', u'23', u'3', u'4', u'5', u'6', u'7', u'8', u'9'])
results = self.sb.search(u'*', sort_by=['-id'])
self.assertEqual([result.pk for result in results['results']], [u'9', u'8', u'7', u'6', u'5', u'4', u'3', u'23', u'22', u'21', u'20', u'2', u'19', u'18', u'17', u'16', u'15', u'14', u'13', u'12', u'11', u'10', u'1'])
def test__from_python(self):
self.assertEqual(self.sb._from_python('abc'), u'abc')
self.assertEqual(self.sb._from_python(1), 1)
self.assertEqual(self.sb._from_python(2653), 2653)
self.assertEqual(self.sb._from_python(25.5), 25.5)
self.assertEqual(self.sb._from_python([1, 2, 3]), u'1,2,3')
self.assertEqual(self.sb._from_python({'a': 1, 'c': 3, 'b': 2}), u"{'a': 1, 'c': 3, 'b': 2}")
self.assertEqual(self.sb._from_python(datetime(2009, 5, 9, 16, 14)), datetime(2009, 5, 9, 16, 14))
self.assertEqual(self.sb._from_python(datetime(2009, 5, 9, 0, 0)), datetime(2009, 5, 9, 0, 0))
self.assertEqual(self.sb._from_python(datetime(1899, 5, 18, 0, 0)), datetime(1899, 5, 18, 0, 0))
self.assertEqual(self.sb._from_python(datetime(2009, 5, 18, 1, 16, 30, 250)), datetime(2009, 5, 18, 1, 16, 30, 250))
def test__to_python(self):
self.assertEqual(self.sb._to_python('abc'), 'abc')
self.assertEqual(self.sb._to_python('1'), 1)
self.assertEqual(self.sb._to_python('2653'), 2653)
self.assertEqual(self.sb._to_python('25.5'), 25.5)
self.assertEqual(self.sb._to_python('[1, 2, 3]'), [1, 2, 3])
self.assertEqual(self.sb._to_python('{"a": 1, "b": 2, "c": 3}'), {'a': 1, 'c': 3, 'b': 2})
self.assertEqual(self.sb._to_python('2009-05-09T16:14:00'), datetime(2009, 5, 9, 16, 14))
self.assertEqual(self.sb._to_python('2009-05-09T00:00:00'), datetime(2009, 5, 9, 0, 0))
self.assertEqual(self.sb._to_python(None), None)
def test_range_queries(self):
self.sb.update(self.smmi, self.sample_objs)
self.assertEqual(len(self.whoosh_search(u'[d TO]')), 23)
self.assertEqual(len(self.whoosh_search(u'name:[d TO]')), 23)
self.assertEqual(len(self.whoosh_search(u'Ind* AND name:[d TO]')), 23)
self.assertEqual(len(self.whoosh_search(u'Ind* AND name:[TO c]')), 0)
def test_date_queries(self):
self.sb.update(self.smmi, self.sample_objs)
示例2: WhooshSearchBackendTestCase
# 需要导入模块: from haystack.backends.whoosh_backend import SearchBackend [as 别名]
# 或者: from haystack.backends.whoosh_backend.SearchBackend import _from_python [as 别名]
#.........这里部分代码省略.........
# self.assertEqual(self.sb.search('', narrow_queries=set(['name:daniel1'])), {'hits': 0, 'results': []})
# results = self.sb.search('Index*', narrow_queries=set(['name:daniel1']))
# self.assertEqual(results['hits'], 1)
def test_more_like_this(self):
self.sb.update(self.smmi, self.sample_objs)
self.assertEqual(len(self.whoosh_search(u'*')), 3)
# Unsupported by Whoosh. Should see empty results.
self.assertEqual(self.sb.more_like_this(self.sample_objs[0])['hits'], 0)
def test_delete_index(self):
self.sb.update(self.smmi, self.sample_objs)
self.assert_(self.sb.index.doc_count() > 0)
self.sb.delete_index()
self.assertEqual(self.sb.index.doc_count(), 0)
def test_order_by(self):
self.sb.update(self.smmi, self.sample_objs)
results = self.sb.search(u'*', sort_by=['pub_date'])
self.assertEqual([result.pk for result in results['results']], [u'3', u'2', u'1'])
results = self.sb.search(u'*', sort_by=['-pub_date'])
self.assertEqual([result.pk for result in results['results']], [u'1', u'2', u'3'])
results = self.sb.search(u'*', sort_by=['id'])
self.assertEqual([result.pk for result in results['results']], [u'1', u'2', u'3'])
results = self.sb.search(u'*', sort_by=['-id'])
self.assertEqual([result.pk for result in results['results']], [u'3', u'2', u'1'])
def test__from_python(self):
self.assertEqual(self.sb._from_python('abc'), u'abc')
self.assertEqual(self.sb._from_python(1), u'1')
self.assertEqual(self.sb._from_python(2653), u'2653')
self.assertEqual(self.sb._from_python(25.5), u'25.5')
self.assertEqual(self.sb._from_python([1, 2, 3]), u'[1, 2, 3]')
self.assertEqual(self.sb._from_python((1, 2, 3)), u'(1, 2, 3)')
self.assertEqual(self.sb._from_python({'a': 1, 'c': 3, 'b': 2}), u"{'a': 1, 'c': 3, 'b': 2}")
self.assertEqual(self.sb._from_python(datetime(2009, 5, 9, 16, 14)), u'2009-05-09T16:14:00')
self.assertEqual(self.sb._from_python(datetime(2009, 5, 9, 0, 0)), u'2009-05-09T00:00:00')
self.assertEqual(self.sb._from_python(datetime(1899, 5, 18, 0, 0)), u'1899-05-18T00:00:00')
self.assertEqual(self.sb._from_python(datetime(2009, 5, 18, 1, 16, 30, 250)), u'2009-05-18T01:16:30') # Sorry, we shed the microseconds.
def test__to_python(self):
self.assertEqual(self.sb._to_python('abc'), 'abc')
self.assertEqual(self.sb._to_python('1'), 1)
self.assertEqual(self.sb._to_python('2653'), 2653)
self.assertEqual(self.sb._to_python('25.5'), 25.5)
self.assertEqual(self.sb._to_python('[1, 2, 3]'), [1, 2, 3])
self.assertEqual(self.sb._to_python('(1, 2, 3)'), (1, 2, 3))
self.assertEqual(self.sb._to_python('{"a": 1, "b": 2, "c": 3}'), {'a': 1, 'c': 3, 'b': 2})
self.assertEqual(self.sb._to_python('2009-05-09T16:14:00'), datetime(2009, 5, 9, 16, 14))
self.assertEqual(self.sb._to_python('2009-05-09T00:00:00'), datetime(2009, 5, 9, 0, 0))
self.assertEqual(self.sb._to_python(None), None)
def test_range_queries(self):
self.sb.update(self.smmi, self.sample_objs)
self.assertEqual(len(self.whoosh_search(u'[d TO]')), 3)
self.assertEqual(len(self.whoosh_search(u'name:[d TO]')), 3)
self.assertEqual(len(self.whoosh_search(u'Ind* AND name:[d TO]')), 3)
self.assertEqual(len(self.whoosh_search(u'Ind* AND name:[TO c]')), 0)
示例3: WhooshSearchBackendTestCase
# 需要导入模块: from haystack.backends.whoosh_backend import SearchBackend [as 别名]
# 或者: from haystack.backends.whoosh_backend.SearchBackend import _from_python [as 别名]
#.........这里部分代码省略.........
# self.assertEqual(self.sb.search('', narrow_queries=set(['name:daniel1'])), {'hits': 0, 'results': []})
# results = self.sb.search('Index*', narrow_queries=set(['name:daniel1']))
# self.assertEqual(results['hits'], 1)
def test_more_like_this(self):
self.sb.update(self.smmi, self.sample_objs)
self.assertEqual(len(self.whoosh_search(u"*")), 3)
# Unsupported by Whoosh. Should see empty results.
self.assertEqual(self.sb.more_like_this(self.sample_objs[0])["hits"], 0)
def test_delete_index(self):
self.sb.update(self.smmi, self.sample_objs)
self.assert_(self.sb.index.doc_count() > 0)
self.sb.delete_index()
self.assertEqual(self.sb.index.doc_count(), 0)
def test_order_by(self):
self.sb.update(self.smmi, self.sample_objs)
results = self.sb.search(u"*", sort_by=["pub_date"])
self.assertEqual([result.pk for result in results["results"]], [u"3", u"2", u"1"])
results = self.sb.search(u"*", sort_by=["-pub_date"])
self.assertEqual([result.pk for result in results["results"]], [u"1", u"2", u"3"])
results = self.sb.search(u"*", sort_by=["id"])
self.assertEqual([result.pk for result in results["results"]], [u"1", u"2", u"3"])
results = self.sb.search(u"*", sort_by=["-id"])
self.assertEqual([result.pk for result in results["results"]], [u"3", u"2", u"1"])
def test__from_python(self):
self.assertEqual(self.sb._from_python("abc"), u"abc")
self.assertEqual(self.sb._from_python(1), u"1")
self.assertEqual(self.sb._from_python(2653), u"2653")
self.assertEqual(self.sb._from_python(25.5), u"25.5")
self.assertEqual(self.sb._from_python([1, 2, 3]), u"[1, 2, 3]")
self.assertEqual(self.sb._from_python((1, 2, 3)), u"(1, 2, 3)")
self.assertEqual(self.sb._from_python({"a": 1, "c": 3, "b": 2}), u"{'a': 1, 'c': 3, 'b': 2}")
self.assertEqual(self.sb._from_python(datetime(2009, 5, 9, 16, 14)), u"2009-05-09T16:14:00")
self.assertEqual(self.sb._from_python(datetime(2009, 5, 9, 0, 0)), u"2009-05-09T00:00:00")
self.assertEqual(self.sb._from_python(datetime(1899, 5, 18, 0, 0)), u"1899-05-18T00:00:00")
self.assertEqual(
self.sb._from_python(datetime(2009, 5, 18, 1, 16, 30, 250)), u"2009-05-18T01:16:30"
) # Sorry, we shed the microseconds.
def test__to_python(self):
self.assertEqual(self.sb._to_python("abc"), "abc")
self.assertEqual(self.sb._to_python("1"), 1)
self.assertEqual(self.sb._to_python("2653"), 2653)
self.assertEqual(self.sb._to_python("25.5"), 25.5)
self.assertEqual(self.sb._to_python("[1, 2, 3]"), [1, 2, 3])
self.assertEqual(self.sb._to_python("(1, 2, 3)"), (1, 2, 3))
self.assertEqual(self.sb._to_python('{"a": 1, "b": 2, "c": 3}'), {"a": 1, "c": 3, "b": 2})
self.assertEqual(self.sb._to_python("2009-05-09T16:14:00"), datetime(2009, 5, 9, 16, 14))
self.assertEqual(self.sb._to_python("2009-05-09T00:00:00"), datetime(2009, 5, 9, 0, 0))
self.assertEqual(self.sb._to_python(None), None)
def test_range_queries(self):
self.sb.update(self.smmi, self.sample_objs)
self.assertEqual(len(self.whoosh_search(u"[d TO]")), 3)
self.assertEqual(len(self.whoosh_search(u"name:[d TO]")), 3)
self.assertEqual(len(self.whoosh_search(u"Ind* AND name:[d TO]")), 3)
示例4: WhooshSearchBackendTestCase
# 需要导入模块: from haystack.backends.whoosh_backend import SearchBackend [as 别名]
# 或者: from haystack.backends.whoosh_backend.SearchBackend import _from_python [as 别名]
#.........这里部分代码省略.........
self.sb.clear([AnotherMockModel])
self.assertEqual(len(self.whoosh_search('*')), 3)
self.sb.clear([MockModel])
self.raw_whoosh = self.sb.index
self.assertEqual(self.raw_whoosh.doc_count(), 0)
self.sb.update(self.smmi, self.sample_objs)
self.assertEqual(len(self.whoosh_search('*')), 3)
self.sb.clear([AnotherMockModel, MockModel])
self.raw_whoosh = self.sb.index
self.assertEqual(self.raw_whoosh.doc_count(), 0)
def test_search(self):
self.sb.update(self.smmi, self.sample_objs)
self.assertEqual(len(self.whoosh_search('*')), 3)
# No query string should always yield zero results.
self.assertEqual(self.sb.search(''), [])
# A one letter query string gets nabbed by a stopwords filter. Should
# always yield zero results.
self.assertEqual(self.sb.search('a'), [])
self.assertEqual(self.sb.search('*')['hits'], 3)
self.assertEqual([result.pk for result in self.sb.search('*')['results']], [u'3', u'2', u'1'])
self.assertEqual(self.sb.search('', highlight=True), [])
self.assertEqual(self.sb.search('Index*', highlight=True)['hits'], 3)
# DRL_FIXME: Uncomment once highlighting works.
# self.assertEqual([result.highlighted['text'][0] for result in self.sb.search('Index*', highlight=True)['results']], ['<em>Indexed</em>!\n3', '<em>Indexed</em>!\n2', '<em>Indexed</em>!\n1'])
self.assertEqual(self.sb.search('', facets=['name']), [])
results = self.sb.search('Index*', facets=['name'])
self.assertEqual(results['hits'], 3)
self.assertEqual(results['facets'], {})
self.assertEqual(self.sb.search('', date_facets={'pub_date': {'start_date': datetime.date(2008, 2, 26), 'end_date': datetime.date(2008, 2, 26), 'gap': '/MONTH'}}), [])
results = self.sb.search('Index*', date_facets={'pub_date': {'start_date': datetime.date(2008, 2, 26), 'end_date': datetime.date(2008, 2, 26), 'gap': '/MONTH'}})
self.assertEqual(results['hits'], 3)
self.assertEqual(results['facets'], {})
self.assertEqual(self.sb.search('', query_facets={'name': '[* TO e]'}), [])
results = self.sb.search('Index*', query_facets={'name': '[* TO e]'})
self.assertEqual(results['hits'], 3)
self.assertEqual(results['facets'], {})
# self.assertEqual(self.sb.search('', narrow_queries=['name:daniel1']), [])
# results = self.sb.search('Index*', narrow_queries=['name:daniel1'])
# self.assertEqual(results['hits'], 1)
def test_more_like_this(self):
self.sb.update(self.smmi, self.sample_objs)
self.assertEqual(len(self.whoosh_search('*')), 3)
# Unsupported by Whoosh. Should see empty results.
self.assertEqual(self.sb.more_like_this(self.sample_objs[0])['hits'], 0)
def test_delete_index(self):
self.sb.update(self.smmi, self.sample_objs)
self.assert_(self.sb.index.doc_count() > 0)
self.sb.delete_index()
self.assertEqual(self.sb.index.doc_count(), 0)
def test_order_by(self):
self.sb.update(self.smmi, self.sample_objs)
results = self.sb.search('*', sort_by=['pub_date'])
self.assertEqual([result.pk for result in results['results']], [u'1', u'2', u'3'])
results = self.sb.search('*', sort_by=['-pub_date'])
self.assertEqual([result.pk for result in results['results']], [u'3', u'2', u'1'])
def test__from_python(self):
self.assertEqual(self.sb._from_python('abc'), u'abc')
self.assertEqual(self.sb._from_python(1), u'1')
self.assertEqual(self.sb._from_python(2653), u'2653')
self.assertEqual(self.sb._from_python(25.5), u'25.5')
self.assertEqual(self.sb._from_python([1, 2, 3]), u'[1, 2, 3]')
self.assertEqual(self.sb._from_python((1, 2, 3)), u'(1, 2, 3)')
self.assertEqual(self.sb._from_python({'a': 1, 'c': 3, 'b': 2}), u"{'a': 1, 'c': 3, 'b': 2}")
self.assertEqual(self.sb._from_python(datetime.datetime(2009, 5, 9, 16, 14)), u'"2009-05-09T16:14:00.000Z"')
self.assertEqual(self.sb._from_python(datetime.datetime(2009, 5, 9, 0, 0)), u'"2009-05-09T00:00:00.000Z"')
def test__to_python(self):
self.assertEqual(self.sb._to_python('abc'), 'abc')
self.assertEqual(self.sb._to_python('1'), 1)
self.assertEqual(self.sb._to_python('2653'), 2653)
self.assertEqual(self.sb._to_python('25.5'), 25.5)
self.assertEqual(self.sb._to_python('[1, 2, 3]'), [1, 2, 3])
self.assertEqual(self.sb._to_python('(1, 2, 3)'), (1, 2, 3))
self.assertEqual(self.sb._to_python('{"a": 1, "b": 2, "c": 3}'), {'a': 1, 'c': 3, 'b': 2})
self.assertEqual(self.sb._to_python('2009-05-09T16:14:00.000Z'), datetime.datetime(2009, 5, 9, 16, 14))
self.assertEqual(self.sb._to_python('2009-05-09T00:00:00.000Z'), datetime.datetime(2009, 5, 9, 0, 0))
self.assertEqual(self.sb._to_python('"2009-05-09T16:14:00.000Z"'), datetime.datetime(2009, 5, 9, 16, 14))
self.assertEqual(self.sb._to_python('"2009-05-09T00:00:00.000Z"'), datetime.datetime(2009, 5, 9, 0, 0))