|
|
|
@@ -119,13 +119,17 @@ class Dealer: |
|
|
|
|
|
|
|
# If result is empty, try again with lower min_match |
|
|
|
if total == 0: |
|
|
|
matchText, _ = self.qryr.question(qst, min_match=0.1) |
|
|
|
filters.pop("doc_ids", None) |
|
|
|
matchDense.extra_options["similarity"] = 0.17 |
|
|
|
res = self.dataStore.search(src, highlightFields, filters, [matchText, matchDense, fusionExpr], |
|
|
|
orderBy, offset, limit, idx_names, kb_ids, rank_feature=rank_feature) |
|
|
|
total = self.dataStore.getTotal(res) |
|
|
|
logging.debug("Dealer.search 2 TOTAL: {}".format(total)) |
|
|
|
if filters.get("doc_id"): |
|
|
|
res = self.dataStore.search(src, [], filters, [], orderBy, offset, limit, idx_names, kb_ids) |
|
|
|
total = self.dataStore.getTotal(res) |
|
|
|
else: |
|
|
|
matchText, _ = self.qryr.question(qst, min_match=0.1) |
|
|
|
filters.pop("doc_id", None) |
|
|
|
matchDense.extra_options["similarity"] = 0.17 |
|
|
|
res = self.dataStore.search(src, highlightFields, filters, [matchText, matchDense, fusionExpr], |
|
|
|
orderBy, offset, limit, idx_names, kb_ids, rank_feature=rank_feature) |
|
|
|
total = self.dataStore.getTotal(res) |
|
|
|
logging.debug("Dealer.search 2 TOTAL: {}".format(total)) |
|
|
|
|
|
|
|
for k in keywords: |
|
|
|
kwds.add(k) |
|
|
|
@@ -375,6 +379,9 @@ class Dealer: |
|
|
|
dim = len(sres.query_vector) |
|
|
|
vector_column = f"q_{dim}_vec" |
|
|
|
zero_vector = [0.0] * dim |
|
|
|
if doc_ids: |
|
|
|
similarity_threshold = 0 |
|
|
|
page_size = 30 |
|
|
|
for i in idx: |
|
|
|
if sim[i] < similarity_threshold: |
|
|
|
break |