From 8265ddb62698061e0b44bf2f5ff34402af7b244b Mon Sep 17 00:00:00 2001 From: Genuchten Date: Thu, 3 Aug 2023 14:14:18 +0200 Subject: [PATCH] remove stopwords from anytext filter --- pycsw/ogc/api/records.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pycsw/ogc/api/records.py b/pycsw/ogc/api/records.py index 658efc60c..2410e257f 100644 --- a/pycsw/ogc/api/records.py +++ b/pycsw/ogc/api/records.py @@ -1164,6 +1164,8 @@ def build_anytext(name, value): predicates = [] tokens = value.split() + stopwords = ['i','me','my','myself','we','our','ours','ourselves','you','your','yours','yourself','yourselves','he','him','his','himself','she','her','hers','herself','it','its','itself','they','them','their','theirs','themselves','what','which','who','whom','this','that','these','those','am','is','are','was','were','be','been','being','have','has','had','having','do','does','did','doing','a','an','the','and','but','if','or','because','as','until','while','of','at','by','for','with','about','against','between','into','through','during','before','after','above','below','to','from','up','down','in','out','on','off','over','under','again','further','then','once','here','there','when','where','why','how','all','any','both','each','few','more','most','other','some','such','no','nor','not','only','own','same','so','than','too','very','s','t','can','will','just','don','should','now'] # noqa + tokens = list(filter(lambda el: el not in stopwords, tokens)) if len(tokens) == 1: # single term return f"{name} ILIKE '%{value}%'"