The same problem with Whoosh==2.6.0 Using NgramField didn't help.

svētdiena, 2013. gada 10. februāris 21:15:11 UTC+2, titlei...@gmail.com 
rakstīja:
>
>
> I should have put my full model in the original post, here it is, so that 
> you don't think i'm referencing an unknown field (modified_date).  Sorry 
> about that.
>
> class Building(models.Model):
>     created_date = models.DateTimeField(default=datetime.now(), 
> blank=False, editable=False)
>     modified_date = AutoDateTimeField(blank=True, editable=False)
>     created_by = models.ForeignKey(User)
>     lastmodified_by = models.ForeignKey(User, blank=True, null=True, 
> related_name="%(app_label)s_%(class)s_related")
>     number = models.CharField(max_length=25, unique=True)
>     description = models.CharField(max_length=50, blank=True)
>
> In my search_indexes.py file, I tried changing the field type for both 
> number and description between CharField, EdgeNgramField, and NgramField, 
> but none of those changed the results.  I still can't match partial words.
>
> Should I try an older version of Whoosh?  I've seen a few posts that 
> mentioned that helped.
>
> Thanks,
> -jay
>
> On Sunday, February 10, 2013 1:23:33 AM UTC-6, titlei...@gmail.com wrote:
>>
>> Hello,
>>
>> I'm trying to get the following stack setup to do partial word searching. 
>>  I was following the basic tutorial in the Haystack documentation, just to 
>> get started.
>>
>> Django 1.4.3
>> Haystack 2.0.0 (latest from git)
>> Whoosh 2.4.1
>>
>> I've got a really simple model setup for testing.
>>
>> class Building(models.Model):
>>     number = models.CharField(max_length=25, unique=True)
>>     description = models.CharField(max_length=50, blank=True)
>>
>>
>> My search_indexes.py file is this
>>
>> class BuildingIndex(indexes.SearchIndex, indexes.Indexable):
>>     text = indexes.CharField(document=True, use_template=True)
>>     number = indexes.EdgeNgramField(model_attr='number')
>>     description = indexes.EdgeNgramField(model_attr='description')
>>
>>     def get_model(self):
>>         return Building
>>
>>     def index_queryset(self, using=None):
>>         """Used when the entire index for model is updated."""
>>         return 
>> self.get_model().objects.filter(modified_date__lte=datetime.now())
>>
>>
>> Like I mentioned, full word matches work perfectly.  No problems there. 
>>  However, a partial search does not return any results.  I've tried 
>> matching 1, 2, 3 characters and up.  I completely removed my indexes and 
>> rebuilt them, multiple times, and partial matching still doesn't work.  I 
>> don't need autocomplete support, just partial matches.
>>
>> Is there something simple that I have missed?  Or is this a lot more 
>> complicated than I realize.
>>
>> Appreciate any help.
>>
>> Thanks,
>> -jay
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"django-haystack" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-haystack+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to