का उपयोग करके एजग्रामफिल्फ़ के साथ स्वत: पूर्ण काम नहीं करता है मुझे मॉडल फ़ील्ड में सबस्ट्रिंग मानों को खोजने की आवश्यकता है। मेरे पास एक इंडेक्स और एक SearchQuerySet है।हैजस्टैक और इंजन एलैस्टिकसेर्च (डीजेगो)
यह लोचदार खोज कॉन्फ़िगरेशन है।
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://127.0.0.1:9200/',
'INDEX_NAME': 'haystack',
},
}
मेरा सूचकांक।
class ElementIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
#model fields
title_element = indexes.EdgeNgramField(model_attr='title')
clean_content = indexes.EdgeNgramField(model_attr='clean_content')
def get_model(self):
return Element
def index_queryset(self, using=None):
"""Used when the entire index for model is updated."""
return Element.objects.filter(updatetime__lte=datetime.datetime.now())
मेरी कस्टम खोज।
SearchQuerySet().filter(title_element=clean_value)
मेरी डेटाबेस में मैं एक मूल्य "HolaMundoTest" है, और अगर मैं 'होला' या 'HolaM' के आधार पर खोज करने की कोशिश मैं एक परिणाम लगता है, लेकिन अगर मैं 'मुंडो' या 'मुंडो' या 'कोशिश लामुन 'कोई मैच नहीं है।
क्या गलत है? मुझे समझ में नहीं आता
स्रोत http://django-haystack.readthedocs.org/en/v2.1.0/autocomplete.html
मैं उपयोग कर रहा हूँ:
- -django 1.5.1
- -django-भूसे के ढेर == 2.1.0
- -elasticsearch-0.90.5
- - pyelasticsearch == 0.6
आपके उत्तर के लिए धन्यवाद wers-