هل يتم تجاهل مصطلحات معينة من عمليات البحث؟

I’m having a few difficulties with the search functionality today.

We have an automated process we creates topics based on a lecture from a course, an example may be;

About ‘Implementing Health & Damage’

I found myself wanting to reduces the maximum number of characters for a topic length and decide I’d do a quick search to see how many of our automated topics are quite long, to get a feel for the suitable max length.

If I search using the above, I’ll get result, but I need the search to be a little more general than that, so I’ve tried searching for;

About ’

…knowing that is the start of the format we always use. When I do, I don’t get any results, if I add another word after the apostrophe I do get results. I assumed at that point it was related to the apostrophe, but nope, if I search for just;

About

I get no results, yet if I search for;

Test

I do get results! This indicates there isn’t a limitation on the number of words as a minimum for a search, and we have a 3 character limit set for the term, so it isn’t that. The only thing I can think of is that there is a list of “words” that are being ignored from a search, yet I don’t think we’ve set these up.

Any information would be appreciated. :slight_smile:


Update

I have also tested this with “because”, “and”, “the” and these all produce no results, so I’m feeling that there is a list of “common words” which are being ignored, but because I don’t have access to these via the settings I cannot alter them, and, cannot perform the search I want to perform.

Yes, I believe these are “stop” words — see:

I’m not sure if things have changed much since two years ago, but there doesn’t seem to be an easy way to change those.

8 إعجابات

Hi Kris,

Thanks for the reply.

Yeah, I thought as much. It’s a pain on this occasion as in this specific case the word does have value.

I guess using DataExplorer wouldn’t get around this either?


Update

Actually, via DataExplorer it works. I guess a full text search isn’t carried out when querying the topic title field.

Looks like a work-around :slight_smile:

7 إعجابات

لقد واجهتُ هذا بنفسي للتو. إنه… مزعج للغاية. هل هناك أي تحديث، أو طريقة لتغيير هذا الآن؟ كلمة

إعجاب واحد (1)

أنا أيضًا مندهش من أن كلمة “about” موجودة في قائمة الكلمات الموقوفة الحالية لـ Postgres، لكنها هنا:

حيلة واحدة هي البحث عن المواضيع المثبتة في فئة معينة

in:pinned #support

إعجاب واحد (1)

شكرًا لك، جيف. لم أكن أعرف أنه يمكن البحث عن المواضيع المثبتة. هناك دائمًا شيء رائع وجديد لاكتشافه في ميزات Discourse. :smiley:

لكن… هل لديك أي أفكار حول تنبيه المستخدم المسكين الذي يبحث ولا يجد شيئًا حتى عندما يعرف أنه يجب أن تكون هناك نتائج؟ الآن عندما أرى القائمة الكاملة، فهي حقًا طويلة جدًا…

إعجابَين (2)

من الجيد إصدار تحذير إذا كانت بحثك تتكون بالكامل من كلمات توقف. كم سيكون ذلك صعبًا للتنفيذ @tgxworld؟

لا نريد ترميز القائمة بشكل ثابت، لذا نحتاج إلى طريقة للاستعلام عن PostgreSQL وإخبارنا بـ “هل كل هذه الكلمات هي كلمات توقف؟”.

3 إعجابات

يمكننا إضافة عمود إضافي في استعلام البحث لدينا يسمح لنا بمعرفة ما إذا كان المصطلح يتكون فقط من كلمات التوقف، وهو أمر ليس صعبًا للغاية. سأحتاج إلى البحث بعمق لمعرفة مكان حقن هذا العمود الإضافي، لكن الهدف النهائي بالنسبة لنا هو تجنب استعلام قاعدة بيانات إضافي لمجرد معرفة ما إذا كان المصطلح يتكون بالكامل من كلمات التوقف أم لا.

إعجابَين (2)

ربما، إذا لم تكن هناك نتائج بحث، نقوم بتشغيل هذا الفحص لمعرفة ما إذا كان الاستعلام يتكون بالكامل من كلمات توقف؟ ثم نقوم بتشغيل فحص إضافي فقط عندما تكون النتائج ضعيفة على أي حال. وفقًا لقائمة كلمات التوقف، على سبيل المثال، إذا بحثت عن “doing should now”.

في أسوأ الحالات، يمكننا نسخ القائمة وتشغيل الفحص من جانب الخادم، فهي تحتوي على 127 سطرًا فقط، لكن ذلك سيكون غير أنيق. ربما يمكننا عند بدء التشغيل استعلام قائمة كلمات التوقف وتخزينها مؤقتًا؟

إعجابَين (2)

نعم، إنه مشابه إلى حد ما لما قصدته بإضافة عمود إضافي في نتائج البحث. إذا كانت نتيجة البحث فارغة، فإننا نراجع العمود لتحديد ما إذا كان السبب في أن جميع المصطلحات هي كلمات توقف، أم أننا حصلنا على 0 تطابقات.

إعجابَين (2)

كيف تعمل هذه الكلمات المتوقفة بلغات أخرى؟ هل الكلمات المترجمة متوقفة أيضًا؟ أم الكلمات الإنجليزية فقط عندما تكون مرتبطة ببعض الاحتياجات التقنية؟

هناك ملفات للغات مختلفة

إعجابَين (2)

حسناً. كل الضمائر الشخصية تقريباً بكل أشكالها، مع الفعل be، بالإضافة إلى بعض الكلمات الحشو مثل or، only، when، إلخ. يمكن تجاوز كل شيء تقريباً في عمليات البحث، على سبيل المثال، لا نحتاج في الغالب إلى شخصيات في جملة. لكن بالتأكيد، هذا يجعل قاعدة البيانات أكثر قابلية للتحكم.

لكن من الجيد معرفة أنها مبنية حسب اللغة أيضاً. شكراً.

إعجابَين (2)