MCPcopy Create free account
hub / github.com/django-haystack/django-haystack / search

Method search

test_haystack/mocks.py:67–102  ·  view source on GitHub ↗
(self, query_string, **kwargs)

Source from the content-addressed store, hash-verified

65
66 @log_query
67 def search(self, query_string, **kwargs):
68 from haystack import connections
69
70 global MOCK_INDEX_DATA
71 results = []
72 hits = len(MOCK_INDEX_DATA)
73 indexed_models = connections["default"].get_unified_index().get_indexed_models()
74
75 def junk_sort(key):
76 app, model, pk = key.split(".")
77
78 if pk.isdigit():
79 return int(pk)
80 else:
81 return ord(pk[0])
82
83 sliced = sorted(MOCK_INDEX_DATA, key=junk_sort)
84
85 for i, result in enumerate(sliced):
86 app_label, model_name, pk = result.split(".")
87 model = apps.get_model(app_label, model_name)
88
89 if model:
90 if model in indexed_models:
91 results.append(
92 MockSearchResult(app_label, model_name, pk, 1 - (i / 100.0))
93 )
94 else:
95 hits -= 1
96 else:
97 hits -= 1
98
99 return {
100 "results": results[kwargs.get("start_offset") : kwargs.get("end_offset")],
101 "hits": hits,
102 }
103
104 def more_like_this(
105 self, model_instance, additional_query_string=None, result_class=None

Callers 15

more_like_thisMethod · 0.95
check_solrFunction · 0.45
test_updateMethod · 0.45
test_update_objectMethod · 0.45
test_remove_objectMethod · 0.45
test_clearMethod · 0.45
test_reindexMethod · 0.45
searchMethod · 0.45
raw_searchMethod · 0.45
test_non_silentMethod · 0.45
test_searchMethod · 0.45
test_verify_typeMethod · 0.45

Calls 5

MockSearchResultClass · 0.85
get_indexed_modelsMethod · 0.80
get_unified_indexMethod · 0.80
getMethod · 0.80
get_modelMethod · 0.45

Tested by 15

test_updateMethod · 0.36
test_update_objectMethod · 0.36
test_remove_objectMethod · 0.36
test_clearMethod · 0.36
test_reindexMethod · 0.36
raw_searchMethod · 0.36
test_non_silentMethod · 0.36
test_searchMethod · 0.36
test_verify_typeMethod · 0.36
test_all_casesMethod · 0.36
raw_searchMethod · 0.36
raw_searchMethod · 0.36