के साथ काम करने के लिए आंशिक शब्द खोज नहीं मिल सकता है। मैं आंशिक शब्द मिलान करने की कोशिश कर रहा हूं और मैंने पहले से ही related question देखा है लेकिन किसी कारण से मेरा सेटअप काम नहीं करता है। मैं elasticsearch के साथ घास का उपयोग कर रहा हूँ। क्या कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं?हैस्टैक/लोचदार खोज
class VendorIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.EdgeNgramField(document=True, use_template=True)
company_name = indexes.CharField(model_attr='company_name', null=True)
def get_model(self):
return Vendor
def index_queryset(self, using=None):
"""Used when the entire index for model is updated."""
return self.get_model().objects.all()
संपादित करें: मैंने स्वत: पूर्ण उपयोग करके यह काम किया है। हालांकि, मुझे लगता है कि यह एक हैक है।
class VendorIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
company_name = indexes.CharField(model_attr='company_name', null=True)
company_name_auto = indexes.NgramField(model_attr='company_name')
def get_model(self):
return Vendor
def index_queryset(self, using=None):
"""Used when the entire index for model is updated."""
return self.get_model().objects.all()
उसके बाद दृश्य में
:
class SearchVendorView(generics.ListAPIView):
serializer_class = serializers.CustomerVendorSerializer
def get_queryset(self):
results = SearchQuerySet().models(Vendor).autocomplete(company_name_auto=self.request.GET.get('q', ''))
vendors = []
for vendor in [result.object for result in results]:
vendor.is_liked = Vendor.objects.from_request(self.request).get(pk=vendor.id).user_vote
vendors.append(vendor)
return vendors
क्या आप जानते हैं कि यह 'elasticsearch 1.x' पर काम करेगा या नहीं? –
नाथन, नहीं, मैं कभी भी उपयोगकर्ता elasticsearch v.1 उपयोगकर्ता नहीं। – valex