product search with ranking is working

This commit is contained in:
Sam
2021-02-19 11:20:03 +00:00
parent 8abcda74f8
commit e31c64eea8
3 changed files with 24 additions and 19 deletions

View File

@@ -23,7 +23,7 @@ from companies.models import Company
from history.models import HistorySync
from back_latienda.permissions import IsCreator
from .utils import extract_search_filters, find_related_products_v5, find_related_products_v4, find_related_products_v3
from .utils import extract_search_filters, find_related_products_v3
from utils.tag_serializers import TaggitSerializer
from utils.tag_filters import ProductTagFilter
@@ -155,9 +155,7 @@ def product_search(request):
chunks = query_string.split(' ')
for chunk in chunks:
product_set = find_related_products_v5(chunk)
# product_set = find_related_products_v4(chunk)
# product_set = find_related_products_v3(chunk)
product_set = find_related_products_v3(chunk)
# add to result set
result_set.update(product_set)
# TODO: add search for entire phrase
@@ -166,6 +164,7 @@ def product_search(request):
filters = extract_search_filters(result_set)
# serialize and respond
product_serializer = ProductSearchSerializer(result_set, many=True, context={'request': request})
# TODO: send product data in order by rank value
return Response(data={"filters": filters, "products": product_serializer.data})
except Exception as e:
return Response({"errors": {"details": str(e)}}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)