[yocto] [PATCH][layerindex-web] search: only match pn against search string for recipe searches

Barros Pena, Belen belen.barros.pena at intel.com
Tue Mar 22 07:02:48 PDT 2016



On 18/03/2016 16:12, "yocto-bounces at yoctoproject.org on behalf of Elliot
Smith" <yocto-bounces at yoctoproject.org on behalf of
elliot.smith at intel.com> wrote:

>Using the search box creates a query against the pns,
>summaries, descriptions and filenames of recipes.
>This results in a lot of spurious results for common terms
>like "git" when performing a recipe search.
>
>Reduce the search fields used to just the pn so that the search
>will only return results where the recipe name matches.

Just a thought: searching the descriptions and layer names has certain
advantages. Sometimes you might not know the exact name of the recipe you
are looking for (what if I am just looking for a small image? Or a
development image? Or an image for the raspberry pi?).

I think the issue is with the ordering of the search results (a simple
alphabetical), and not so much with the fields being searched: that's what
I think we need to refine so that we show first results where recipe names
start with the search auery string, sorted in alphabetical order, then all
other results, also in alphabetical order.

Cheers

Belén

>
>[YOCTO #9159]
>
>Signed-off-by: Elliot Smith <elliot.smith at intel.com>
>---
> layerindex/views.py | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/layerindex/views.py b/layerindex/views.py
>index 7e877ac..2dbde24 100644
>--- a/layerindex/views.py
>+++ b/layerindex/views.py
>@@ -373,7 +373,7 @@ class RecipeSearchView(ListView):
>         query_string = self.request.GET.get('q', '')
>         init_qs =
>Recipe.objects.filter(layerbranch__branch__name=self.kwargs['branch'])
>         if query_string.strip():
>-            entry_query = simplesearch.get_query(query_string, ['pn',
>'summary', 'description', 'filename'])
>+            entry_query = simplesearch.get_query(query_string, ['pn'])
>             qs = init_qs.filter(entry_query).order_by('pn',
>'layerbranch__layer')
>         else:
>             if 'q' in self.request.GET:
>@@ -689,7 +689,7 @@ class ClassicRecipeSearchView(RecipeSearchView):
>         if category:
>             init_qs =
>init_qs.filter(classic_category__icontains=category)
>         if query_string.strip():
>-            entry_query = simplesearch.get_query(query_string, ['pn',
>'summary', 'description', 'filename'])
>+            entry_query = simplesearch.get_query(query_string, ['pn'])
>             qs = init_qs.filter(entry_query).order_by('pn',
>'layerbranch__layer')
>         else:
>             if 'q' in self.request.GET:
>-- 
>1.9.3
>
>---------------------------------------------------------------------
>Intel Corporation (UK) Limited
>Registered No. 1134945 (England)
>Registered Office: Pipers Way, Swindon SN3 1RJ
>VAT No: 860 2173 47
>
>This e-mail and any attachments may contain confidential material for
>the sole use of the intended recipient(s). Any review or distribution
>by others is strictly prohibited. If you are not the intended
>recipient, please contact the sender and delete all copies.
>
>-- 
>_______________________________________________
>yocto mailing list
>yocto at yoctoproject.org
>https://lists.yoctoproject.org/listinfo/yocto




More information about the yocto mailing list