django haystack whoosh not showing any errors also no results

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP


django haystack whoosh not showing any errors also no results



I am trying to django-haystack whoosh. Django Haystack & Whoosh search working but in page no giving result. I have looked up this similar question too



Django-haystack-whoosh is giving no results



Django Haystack & Whoosh Search Working, But SearchQuerySet Return 0 Results



pip freeze


python==3.6
django==2.0.7
Whoosh==2.7.4

-e git://github.com/django-haystack/django.haystack.git#egg=django-haystack



Here is my code:



search_indexes.py


import datetime
from haystack import indexes
from search.models import Articles

class ArticlesIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document = True, use_template = true
pub_date = indexes.DateTimeField(model_attr = 'pub_date')
content_auto = indexes.EdgeNgramField(model_attr='title')

def get_model(self):
return Articles

def index_queryset(self, using=None)
return self.get_model().objects.filter(pub_date__lte=datetime.datetime.now())



views.py


from .models import Articles
from haystack.query import SearchQuerySet

def home(request):
article=SearchQuerySet().autocomplete(content_auto=request.POST.get('search_text', '')
return render(request, 'home.hmtl')



home.html


<form method='post'action=''>
{% csrf_token %}
<table>
{{form.as_table}}
<tr>
<td><input type='search'></td>
<td><input type='submit' value= 'Search'></td>
</tr>
</table>
{% if query %}
<h3>Results</h3>
{% for article in articles %}
<p><a href="{{article.object.get_absolute_url}}">{{article.object.title}}</a></p>
{% empty %}
<p>No results found </p>
{% endfor %}
{% endif %}
</form>



models.py


from django.db import models

class Articles(models.Model):
title = models.CharField(max_length = 255)
body = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)

def __str__(self):
return self.title



projectfile/templates/indexes/search/articles_text.txt


{{object.title}}
{{object.body}}



settings.py


INSTALLED_APPS = [
'haystack',
'whoosh',
]
WHOOSH_INDEX=[os.path.join(BASE_DIR, 'whoosh/'),]
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
'PATH': os.path.join(os.path.dirname(__file__), 'whoosh_index'),
},
}



I ran python3 manage.py rebuild_index and it said indexing 3 articless and my search_indexes.py file in the app folder.




1 Answer
1



Mistake is in your View, In views you are not rendering the article, so views should be:


def home(request):
articles = SearchQuerySet().autocomplete(content_auto=request.POST.get('search_text', '')
return render(request, 'home.html', {'articles':articles})



Why are you using autocomplete ?





I have tried this one also. But same no result
– NIL SAGOR
4 mins ago






By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Popular posts from this blog

Arduino Mega cannot recieve any sketches, stk500_recv() programmer is not responding

Visual Studio Code: How to configure includePath for better IntelliSense results

C++ virtual function: Base class function is called instead of derived