ਆਪਣੀ ਐਪ ਵਿੱਚ ਖੋਜ ਕਿਵੇਂ ਜੋੜੀਏ: ਸਧਾਰਨ ਫਿਲਟਰਾਂ ਤੋਂ ਲੈ ਕੇ ਫੁੱਲ-ਟੈਕਸਟ ਖੋਜ ਤੱਕ
ਆਪਣੀ ਐਪ ਵਿੱਚ ਖੋਜ ਜੋੜਨ ਲਈ, ਸਭ ਤੋਂ ਸਧਾਰਨ ਚੀਜ਼ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ ਜੋ ਕੰਮ ਕਰੇ: ਇੱਕ ਖੋਜ ਬਾਕਸ ਜੋ ਸਰਵਰ ਰੂਟ ਨੂੰ ਬੁਲਾਵੇ, ਜੋ ਤੁਹਾਡੇ ਡੇਟਾਬੇਸ ਕਤਾਰਾਂ ਨੂੰ ਕੁਝ ਕਾਲਮਾਂ ਨਾਲ ਮੇਲ ਕੇ ਫਿਲਟਰ ਕਰੇ, ਨਾਲ ਹੀ ਸ਼੍ਰੇਣੀ ਜਾਂ ਕੀਮਤ ਵਰਗੇ ਫਿਲਟਰ। ਜਦੋਂ ਇਹ ਕਾਫ਼ੀ ਨਾ ਹੋਵੇ, ਯਾਨੀ ਤੁਹਾਨੂੰ ਪ੍ਰਸੰਗਿਕਤਾ ਰੈਂਕਿੰਗ, ਸ਼ਬਦਾਂ ਦੀ ਮੂਲ ਰੂਪ ਵਿੱਚ ਬਦਲਾਈ, ਜਾਂ ਬਹੁਤ ਸਾਰੇ ਰਿਕਾਰਡ ਚਾਹੀਦੇ ਹੋਣ, ਤਾਂ ਆਪਣੇ ਡੇਟਾਬੇਸ ਦੀ ਫੁੱਲ-ਟੈਕਸਟ ਖੋਜ 'ਤੇ ਜਾਓ, ਅਤੇ ਹੋਸਟ ਕੀਤੇ ਸਰਚ ਇੰਜਣ ਵੱਲ ਤਾਂ ਹੀ ਜਾਓ ਜੇ ਤੁਹਾਨੂੰ ਮਜ਼ਬੂਤ ਟਾਈਪੋ ਸਹਿਣਸ਼ੀਲਤਾ ਜਾਂ ਬਹੁਤ ਵੱਡੇ ਡੇਟਾ 'ਤੇ ਤੁਰੰਤ ਨਤੀਜੇ ਚਾਹੀਦੇ ਹੋਣ। ਜੋ ਵੀ ਚੁਣੋ, ਖੋਜ ਇਜਾਜ਼ਤਾਂ ਦਾ ਆਦਰ ਕਰੇ: ਯੂਜ਼ਰਾਂ ਨੂੰ ਕਦੇ ਵੀ ਉਹ ਰਿਕਾਰਡ ਨਾ ਮਿਲਣ ਜੋ ਉਹ ਦੇਖਣ ਦੇ ਹੱਕਦਾਰ ਨਹੀਂ।
ਤੁਹਾਡੀ ਐਪ ਲਈ "ਖੋਜ" ਦਾ ਮਤਲਬ
ਖੋਜ ਕਈ ਵੱਖ-ਵੱਖ ਚੀਜ਼ਾਂ ਨੂੰ ਢੱਕਦੀ ਹੈ, ਅਤੇ ਬਹੁਤੀਆਂ ਐਪਾਂ ਨੂੰ ਇੱਕ ਤੋਂ ਵੱਧ ਚਾਹੀਦੀਆਂ ਹਨ:
- ਕੀਵਰਡ ਖੋਜ: ਇੱਕ ਟੈਕਸਟ ਬਾਕਸ, ਜਿਵੇਂ "'garden' ਦਾ ਜ਼ਿਕਰ ਕਰਨ ਵਾਲੀਆਂ ਲਿਸਟਿੰਗਾਂ ਲੱਭੋ"।
- ਫਿਲਟਰ: ਢਾਂਚਾਗਤ ਚੋਣਾਂ, ਜਿਵੇਂ ਸ਼੍ਰੇਣੀ, ਸ਼ਹਿਰ, ਕੀਮਤ ਦੀ ਹੱਦ, ਮਿਤੀ, ਸਥਿਤੀ।
- ਛਾਂਟੀ: ਸਭ ਤੋਂ ਨਵੇਂ, ਸਭ ਤੋਂ ਸਸਤੇ, ਸਭ ਤੋਂ ਢੁੱਕਵੇਂ।
- ਆਟੋਕੰਪਲੀਟ: ਟਾਈਪ ਕਰਦਿਆਂ ਸੁਝਾਅ।
- ਟਾਈਪੋ ਸਹਿਣਸ਼ੀਲਤਾ: "restuarant" ਫਿਰ ਵੀ "restaurant" ਲੱਭੇ।
ਡਾਇਰੈਕਟਰੀ, ਜੌਬ ਬੋਰਡ ਜਾਂ ਦੁਕਾਨ ਲਈ, ਫਿਲਟਰ ਅਕਸਰ ਟੈਕਸਟ ਬਾਕਸ ਨਾਲੋਂ ਵੱਧ ਮਾਇਨੇ ਰੱਖਦੇ ਹਨ। ਕਿਸੇ ਟੂਲ ਦੀ ਚੋਣ ਤੋਂ ਪਹਿਲਾਂ ਤੈਅ ਕਰੋ ਕਿ ਇਹਨਾਂ ਵਿੱਚੋਂ ਤੁਹਾਨੂੰ ਅਸਲ ਵਿੱਚ ਕੀ ਚਾਹੀਦਾ ਹੈ।
ਤੁਹਾਡੇ ਵਿਕਲਪ
| ਤਰੀਕਾ | ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ | ਕਿਸ ਲਈ ਚੰਗਾ | ਸੀਮਾਵਾਂ |
|---|---|---|---|
| ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਫਿਲਟਰ | ਸੂਚੀ ਲੋਡ ਕਰੋ, JavaScript ਵਿੱਚ ਫਿਲਟਰ ਕਰੋ | ਛੋਟੀਆਂ ਜਨਤਕ ਸੂਚੀਆਂ (ਕੁਝ ਸੌ ਚੀਜ਼ਾਂ) | ਹਰ ਵਿਜ਼ਿਟਰ ਨੂੰ ਸਾਰਾ ਡੇਟਾ ਭੇਜਦਾ ਹੈ; ਵੱਡੀਆਂ ਸੂਚੀਆਂ ਨਾਲ ਹੌਲੀ |
| ਡੇਟਾਬੇਸ ਪੈਟਰਨ ਮੇਲ | ਸਰਵਰ ਕੁਏਰੀ ਜਿਵੇਂ "ਨਾਮ ਵਿੱਚ ਟੈਕਸਟ ਹੈ", ਬਿਨਾਂ ਕੇਸ ਦੇ | ਛੋਟੀਆਂ ਤੋਂ ਦਰਮਿਆਨੀਆਂ ਐਪਾਂ, ਐਡਮਿਨ ਟੂਲ | ਕੋਈ ਰੈਂਕਿੰਗ ਨਹੀਂ; ਵੱਡੀਆਂ ਟੇਬਲਾਂ 'ਤੇ ਹੌਲੀ ਹੋ ਸਕਦਾ ਹੈ; ਕੋਈ ਮੂਲ ਰੂਪ ਬਦਲਾਈ ਨਹੀਂ |
| ਡੇਟਾਬੇਸ ਫੁੱਲ-ਟੈਕਸਟ ਖੋਜ | Postgres ਸ਼ਬਦਾਂ ਨੂੰ ਇੰਡੈਕਸ ਕਰਦਾ ਹੈ ਅਤੇ ਮੇਲਾਂ ਨੂੰ ਰੈਂਕ ਕਰਦਾ ਹੈ | ਜ਼ਿਆਦਾਤਰ ਸਮੱਗਰੀ-ਭਾਰੀ ਐਪਾਂ | ਫਜ਼ੀ ਮੇਲ ਜੋੜੇ ਬਿਨਾਂ ਟਾਈਪੋ ਵਿੱਚ ਕਮਜ਼ੋਰ |
| ਫਜ਼ੀ ਮੇਲ (trigrams) | Postgres ਅੱਖਰਾਂ ਦੇ ਕ੍ਰਮਾਂ ਦੀ ਸਮਾਨਤਾ ਦੀ ਤੁਲਨਾ ਕਰਦਾ ਹੈ | ਨਾਮ, ਛੋਟੇ ਖੇਤਰ, ਟਾਈਪੋ ਸਹਿਣਸ਼ੀਲਤਾ | ਇੱਕ ਐਕਸਟੈਂਸ਼ਨ ਅਤੇ ਇੰਡੈਕਸ ਚਾਹੀਦਾ ਹੈ; ਟਿਊਨਿੰਗ ਦੀ ਲੋੜ ਹੈ |
| ਹੋਸਟ ਕੀਤਾ ਸਰਚ ਇੰਜਣ | ਇੱਕ ਵੱਖਰੀ ਸੇਵਾ ਤੁਹਾਡੇ ਡੇਟਾ ਨੂੰ ਇੰਡੈਕਸ ਕਰਦੀ ਹੈ (Algolia, Meilisearch, Typesense, Elasticsearch ਅਤੇ ਹੋਰ) | ਵੱਡੇ ਕੈਟਾਲਾਗ, ਤੁਰੰਤ ਖੋਜ, ਭਾਰੀ ਟਾਈਪੋ ਸਹਿਣਸ਼ੀਲਤਾ | ਇੱਕ ਹੋਰ ਸੇਵਾ ਜੋ ਸਮਕਾਲੀ ਰੱਖਣੀ, ਭੁਗਤਾਨ ਕਰਨਾ ਅਤੇ ਸੁਰੱਖਿਅਤ ਕਰਨੀ ਹੈ |
ਜੇ ਤੁਹਾਡਾ ਡੇਟਾ ਪਹਿਲਾਂ ਹੀ Postgres ਵਿੱਚ ਹੈ, ਤਾਂ ਇਸ ਦੀ ਬਿਲਟ-ਇਨ ਫੁੱਲ-ਟੈਕਸਟ ਖੋਜ ਇੱਕ ਮਜ਼ਬੂਤ ਵਿਚਕਾਰਲਾ ਰਸਤਾ ਹੈ। ਇਹ ਟੈਕਸਟ ਨੂੰ ਸ਼ਬਦਾਂ ਵਿੱਚ ਵੰਡਦੀ ਹੈ, ਉਹਨਾਂ ਨੂੰ ਮੂਲ ਰੂਪ (stems) ਵਿੱਚ ਬਦਲਦੀ ਹੈ (ਤਾਂ ਜੋ "running" "run" ਨਾਲ ਮਿਲੇ), ਆਮ ਸ਼ਬਦ ਛੱਡਦੀ ਹੈ, ਅਤੇ ਨਤੀਜਿਆਂ ਨੂੰ ਮੇਲ ਦੀ ਚੰਗਿਆਈ ਨਾਲ ਰੈਂਕ ਕਰ ਸਕਦੀ ਹੈ। ਸਹੀ ਇੰਡੈਕਸ ਨਾਲ ਇਹ ਵੱਡੀਆਂ ਟੇਬਲਾਂ 'ਤੇ ਵੀ ਤੇਜ਼ ਰਹਿੰਦੀ ਹੈ।
ਉਦਾਹਰਨ ਪ੍ਰੋਂਪਟ
ਇੱਕ ਸਧਾਰਨ ਸ਼ੁਰੂਆਤ:
ਲਿਸਟਿੰਗ ਪੰਨੇ ਵਿੱਚ ਇੱਕ ਖੋਜ ਬਾਕਸ ਅਤੇ ਫਿਲਟਰ ਜੋੜੋ। ਖੋਜ ਕੁਏਰੀ ਨੂੰ title ਅਤੇ description ਨਾਲ ਬਿਨਾਂ ਕੇਸ ਦੇ ਮਿਲਾਓ। ਫਿਲਟਰ: ਸ਼੍ਰੇਣੀ (ਡ੍ਰੌਪਡਾਊਨ), ਸ਼ਹਿਰ (ਡ੍ਰੌਪਡਾਊਨ) ਅਤੇ ਵੱਧ ਤੋਂ ਵੱਧ ਕੀਮਤ। ਖੋਜ ਸਰਵਰ 'ਤੇ ਪੇਜਿਨੇਟਿਡ API ਰੂਟ ਰਾਹੀਂ ਕਰੋ, ਹਰ ਪੰਨੇ 'ਤੇ 20 ਨਤੀਜੇ। ਖੋਜ ਅਤੇ ਫਿਲਟਰ URL ਵਿੱਚ ਰੱਖੋ, ਤਾਂ ਜੋ ਨਤੀਜੇ ਸਾਂਝੇ ਹੋ ਸਕਣ ਅਤੇ ਬੈਕ ਬਟਨ ਕੰਮ ਕਰੇ। ਜਦੋਂ ਕੁਝ ਵੀ ਮੇਲ ਨਾ ਖਾਵੇ ਤਾਂ ਦੋਸਤਾਨਾ ਖਾਲੀ ਸਥਿਤੀ ਦਿਖਾਓ।
ਫੁੱਲ-ਟੈਕਸਟ ਖੋਜ ਵੱਲ ਵਧਣਾ:
ਲਿਸਟਿੰਗ ਖੋਜ ਨੂੰ Postgres ਫੁੱਲ-ਟੈਕਸਟ ਖੋਜ ਵਿੱਚ ਬਦਲੋ, title (ਵੱਧ ਭਾਰ ਨਾਲ) ਅਤੇ description 'ਤੇ। ਸਹੀ ਇੰਡੈਕਸ ਜੋੜੋ, ਨਤੀਜੇ ਪ੍ਰਸੰਗਿਕਤਾ ਨਾਲ ਰੈਂਕ ਕਰੋ, ਅਤੇ ਮੌਜੂਦਾ ਫਿਲਟਰ ਤੇ ਪੇਜਿਨੇਸ਼ਨ ਰੱਖੋ। ਕੋਈ ਵੀ ਮੌਜੂਦਾ ਡੇਟਾ ਨਾ ਬਦਲੋ।
ਨਾਵਾਂ ਲਈ ਟਾਈਪੋ ਸਹਿਣਸ਼ੀਲਤਾ ਜੋੜਨਾ:
ਕਾਰੋਬਾਰ ਦੇ ਨਾਮ 'ਤੇ ਫਜ਼ੀ ਮੇਲ ਜੋੜੋ ਤਾਂ ਜੋ ਛੋਟੀਆਂ ਟਾਈਪੋ ਨਾਲ ਵੀ ਨਤੀਜੇ ਮਿਲਣ। ਜੇ ਉਪਲਬਧ ਹੋਵੇ ਤਾਂ trigram ਸਮਾਨਤਾ ਵਰਤੋ, ਇੰਡੈਕਸ ਨਾਲ, ਅਤੇ ਜੇ ਨਾ ਹੋਵੇ ਤਾਂ ਮੌਜੂਦਾ ਖੋਜ 'ਤੇ ਵਾਪਸ ਜਾਓ।
ਕਦਮ ਦਰ ਕਦਮ
- ਸੂਚੀ ਬਣਾਓ ਕਿ ਲੋਕ ਕੀ ਲੱਭਦੇ ਹਨ। ਕਿਹੜੇ ਖੇਤਰ (title, description, tags, name)? ਕਿਹੜੇ ਫਿਲਟਰ? ਜੇ ਸੰਭਵ ਹੋਵੇ ਤਾਂ ਕੁਝ ਅਸਲ ਯੂਜ਼ਰਾਂ ਨੂੰ ਪੁੱਛੋ।
- ਸਰਵਰ-ਪਾਸੇ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ। ਇੱਕ API ਰੂਟ ਜੋੜੋ ਜੋ ਕੁਏਰੀ ਅਤੇ ਫਿਲਟਰ ਲਵੇ, ਅਤੇ ਨਤੀਜਿਆਂ ਦਾ ਇੱਕ ਪੰਨਾ ਵਾਪਸ ਕਰੇ। ਸਭ ਕੁਝ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਨਾ ਲੋਡ ਕਰੋ।
- ਇਜਾਜ਼ਤਾਂ ਕੁਏਰੀ ਵਿੱਚ ਲਾਗੂ ਕਰੋ। ਜੇ ਯੂਜ਼ਰ ਸਿਰਫ਼ ਆਪਣੇ ਰਿਕਾਰਡ ਜਾਂ ਸਿਰਫ਼ ਪ੍ਰਕਾਸ਼ਿਤ ਰਿਕਾਰਡ ਦੇਖ ਸਕਦੇ ਹਨ, ਤਾਂ ਉਹ ਸ਼ਰਤ ਖੋਜ ਵਾਲੀ ਉਸੇ ਕੁਏਰੀ ਵਿੱਚ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।
- ਪਹਿਲੇ ਦਿਨ ਤੋਂ ਪੇਜਿਨੇਸ਼ਨ ਜੋੜੋ, ਪੰਨਾ ਨੰਬਰ ਜਾਂ "ਹੋਰ ਲੋਡ ਕਰੋ"।
- ਖੋਜ ਦੀ ਸਥਿਤੀ URL ਵਿੱਚ ਰੱਖੋ (ਜਿਵੇਂ
?q=garden&city=leeds)। ਸਾਂਝੇ ਕਰਨ ਯੋਗ ਲਿੰਕ, ਕੰਮ ਕਰਦਾ ਬੈਕ ਬਟਨ, ਅਤੇ ਜੇ ਚਾਹੋ ਤਾਂ ਫਿਲਟਰ ਕੀਤੇ ਪੰਨੇ ਸਰਚ ਇੰਜਣਾਂ ਲਈ ਕ੍ਰਾਲ ਹੋਣ ਯੋਗ। - ਟਾਈਪ ਕਰਦੇ ਸਮੇਂ ਖੋਜ ਨੂੰ ਡਿਬਾਊਂਸ ਕਰੋ। ਟਾਈਪ ਬੰਦ ਹੋਣ ਤੋਂ ਬਾਅਦ ਕੁਝ ਸੌ ਮਿਲੀਸਕਿੰਟ ਉਡੀਕੋ, ਤਾਂ ਜੋ ਹਰ ਕੀਸਟ੍ਰੋਕ 'ਤੇ ਇੱਕ ਬੇਨਤੀ ਨਾ ਜਾਵੇ।
- ਇੰਡੈਕਸ ਜੋੜੋ ਜਦੋਂ ਪਤਾ ਹੋਵੇ ਕਿ ਤੁਸੀਂ ਕਿਹੜੇ ਕਾਲਮ ਫਿਲਟਰ ਅਤੇ ਖੋਜਦੇ ਹੋ।
- ਅੱਪਗ੍ਰੇਡ ਕਰੋ: ਪਹਿਲਾਂ ਫੁੱਲ-ਟੈਕਸਟ ਖੋਜ, ਫਿਰ ਫਜ਼ੀ ਮੇਲ, ਫਿਰ ਹੋਸਟ ਕੀਤਾ ਇੰਜਣ, ਪਰ ਸਿਰਫ਼ ਉਦੋਂ ਜਦੋਂ ਸਰਲ ਕਦਮ ਅਸਲ ਯੂਜ਼ਰਾਂ ਲਈ ਕੰਮ ਨਾ ਕਰੇ।
- ਅਸਲ ਵਰਗੇ ਡੇਟਾ ਨਾਲ ਟੈਸਟ ਕਰੋ: ਸੈਂਕੜੇ ਜਾਂ ਹਜ਼ਾਰਾਂ ਕਤਾਰਾਂ, ਅਜੀਬ ਅੱਖਰ, ਖਾਲੀ ਕੁਏਰੀਆਂ, ਬਹੁਤ ਲੰਮੀਆਂ ਕੁਏਰੀਆਂ, ਅਤੇ ਜੇ ਸਮਰਥਿਤ ਹੋਣ ਤਾਂ ਹੋਰ ਭਾਸ਼ਾਵਾਂ।
ਆਮ ਗਲਤੀਆਂ
- ਪੂਰੀ ਟੇਬਲ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਲੋਡ ਕਰਨਾ। 50 ਚੀਜ਼ਾਂ ਲਈ ਠੀਕ ਹੈ, 50,000 ਲਈ ਦੁਖਦਾਈ, ਅਤੇ ਇਹ ਹਰ ਰਿਕਾਰਡ ਨੂੰ ਖੋਲ੍ਹਦਾ ਹੈ, ਉਹਨਾਂ ਨੂੰ ਵੀ ਜੋ ਯੂਜ਼ਰ ਨੂੰ ਨਹੀਂ ਦੇਖਣੇ ਚਾਹੀਦੇ।
- ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਨ ਵਾਲੀ ਖੋਜ। ਖੋਜ ਲੀਕ ਦਾ ਆਮ ਸਰੋਤ ਹੈ: ਕੋਈ ਨਿੱਜੀ ਜਾਂ ਡਰਾਫਟ ਰਿਕਾਰਡ ਦਿਖ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ ਕੁਏਰੀ ਵਿੱਚ "ਸਿਰਫ਼ ਮੇਰੇ" ਜਾਂ "ਸਿਰਫ਼ ਪ੍ਰਕਾਸ਼ਿਤ" ਸ਼ਰਤ ਭੁੱਲ ਗਈ।
- ਯੂਜ਼ਰ ਇਨਪੁੱਟ ਤੋਂ ਸਿੱਧਾ SQL ਬਣਾਉਣਾ। ਹਮੇਸ਼ਾ ਪੈਰਾਮੀਟਰਾਈਜ਼ਡ ਕੁਏਰੀਆਂ ਵਰਤੋ। AI ਬਿਲਡਰ ਆਮ ਤੌਰ 'ਤੇ ਇਹ ਕਰਦੇ ਹਨ, ਪਰ ਜੇ ਤੁਸੀਂ ਸਤਰਾਂ ਨੂੰ ਜੋੜਿਆ ਜਾਂਦਾ ਦੇਖੋ ਤਾਂ ਜਾਂਚੋ।
- ਖਾਲੀ ਸਥਿਤੀ ਨਾ ਹੋਣਾ। "ਕੋਈ ਨਤੀਜਾ ਨਹੀਂ" ਦੇ ਨਾਲ ਸੁਝਾਅ (ਫਿਲਟਰ ਸਾਫ਼ ਕਰੋ, ਸ਼ਬਦ-ਜੋੜ ਜਾਂਚੋ) ਲੋਕਾਂ ਨੂੰ ਛੱਡ ਕੇ ਜਾਣ ਤੋਂ ਰੋਕਦਾ ਹੈ।
- ਇੰਡੈਕਸ ਨਾ ਹੋਣੇ। ਖੋਜ ਟੈਸਟ ਡੇਟਾ ਨਾਲ ਠੀਕ ਲੱਗਦੀ ਹੈ ਅਤੇ ਅਸਲ ਡੇਟਾ ਵਧਣ ਨਾਲ ਹੌਲੀ ਹੁੰਦੀ ਜਾਂਦੀ ਹੈ।
- ਸਿੱਧਾ ਖੋਜ ਸੇਵਾ 'ਤੇ ਚਲੇ ਜਾਣਾ। ਫਿਰ ਤੁਹਾਨੂੰ ਆਪਣੇ ਡੇਟਾ ਦੀ ਦੂਜੀ ਕਾਪੀ ਸਮਕਾਲੀ ਰੱਖਣੀ, ਮਿਟਾਉਣੇ ਸੰਭਾਲਣੇ, ਅਤੇ ਇੱਕ ਹੋਰ ਕੁੰਜੀਆਂ ਦਾ ਸੈੱਟ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਪੈਂਦਾ ਹੈ, ਅਕਸਰ ਬਿਨਾਂ ਕਿਸੇ ਦਿਖਣ ਵਾਲੇ ਲਾਭ ਦੇ।
- ਮੋਬਾਈਲ ਨੂੰ ਭੁੱਲ ਜਾਣਾ। ਫਿਲਟਰ ਫੋਨ 'ਤੇ ਫਿੱਟ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ; ਫਿਲਟਰ ਦਰਾਜ਼ ਜਾਂ ਸਮੇਟਣਯੋਗ ਪੈਨਲ ਆਮ ਤੌਰ 'ਤੇ ਸਾਈਡਬਾਰ ਨਾਲੋਂ ਬਿਹਤਰ ਕੰਮ ਕਰਦਾ ਹੈ।
ਚੈੱਕਲਿਸਟ
- ਤੁਹਾਨੂੰ ਪਤਾ ਹੈ ਕਿ ਕਿਹੜੇ ਖੇਤਰ ਖੋਜੇ ਜਾਂਦੇ ਹਨ ਅਤੇ ਕਿਹੜੇ ਫਿਲਟਰ ਹਨ
- ਖੋਜ ਸਰਵਰ 'ਤੇ ਚੱਲਦੀ ਹੈ ਅਤੇ ਪੇਜਿਨੇਟਿਡ ਨਤੀਜੇ ਦਿੰਦੀ ਹੈ
- ਕੁਏਰੀ ਉਹੀ ਇਜਾਜ਼ਤਾਂ ਲਾਗੂ ਕਰਦੀ ਹੈ ਜੋ ਐਪ ਦੇ ਬਾਕੀ ਹਿੱਸੇ ਵਿੱਚ ਹਨ
- ਯੂਜ਼ਰ ਇਨਪੁੱਟ ਪੈਰਾਮੀਟਰਾਂ ਵਜੋਂ ਜਾਂਦਾ ਹੈ, ਕਦੇ ਵੀ SQL ਵਿੱਚ ਜੋੜਿਆ ਨਹੀਂ ਜਾਂਦਾ
- ਖੋਜ ਦੀ ਸਥਿਤੀ URL ਵਿੱਚ ਰਹਿੰਦੀ ਹੈ
- ਟਾਈਪ ਕਰਨਾ ਡਿਬਾਊਂਸ ਹੁੰਦਾ ਹੈ
- ਖੋਜੇ ਅਤੇ ਫਿਲਟਰ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਕਾਲਮਾਂ 'ਤੇ ਇੰਡੈਕਸ ਹਨ
- ਖਾਲੀ, ਕੋਈ-ਨਤੀਜਾ ਨਹੀਂ ਅਤੇ ਗਲਤੀ ਦੀਆਂ ਸਥਿਤੀਆਂ ਸਾਫ਼ ਹਨ
- ਅਸਲ ਡੇਟਾ ਆਕਾਰ ਅਤੇ ਗੜਬੜ ਵਾਲੇ ਇਨਪੁੱਟ ਨਾਲ ਟੈਸਟ ਕੀਤਾ ਗਿਆ
Mythex ਨਾਲ ਖੋਜ ਜੋੜਨਾ
Mythex 'ਤੇ ਬਣੀ ਐਪ ਵਿੱਚ ਡੇਟਾ ਆਮ ਤੌਰ 'ਤੇ ਪ੍ਰੋਜੈਕਟ ਦੇ ਆਪਣੇ Postgres ਡੇਟਾਬੇਸ ਵਿੱਚ ਹੁੰਦਾ ਹੈ, ਇਸ ਲਈ ਤੁਸੀਂ ਉੱਪਰ ਦੇ ਪ੍ਰੋਂਪਟਾਂ ਨਾਲ ਸ਼ੁਰੂ ਕਰ ਸਕਦੇ ਹੋ: ਪਹਿਲਾਂ ਪੈਟਰਨ ਮੇਲ, ਫਿਰ ਪ੍ਰਸੰਗਿਕਤਾ ਦੀ ਲੋੜ ਹੋਣ 'ਤੇ Postgres ਫੁੱਲ-ਟੈਕਸਟ ਖੋਜ। ਜੇ ਤੁਸੀਂ ਹੋਸਟ ਕੀਤਾ ਸਰਚ ਇੰਜਣ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਆਪਣਾ ਖਾਤਾ ਅਤੇ ਕੁੰਜੀ ਲਿਆਓ, ਉਸ ਨੂੰ ਪ੍ਰੋਜੈਕਟ ਸੀਕਰੇਟ ਵਜੋਂ ਸਟੋਰ ਕਰੋ, ਅਤੇ ਏਜੰਟ ਨੂੰ ਸਰਵਰ ਤੋਂ ਇੰਡੈਕਸ ਕਰਨ ਅਤੇ ਕੁਏਰੀ ਕਰਨ ਲਈ ਕਹੋ, ਜਿਵੇਂ Integrate any API ਵਿੱਚ ਦੱਸਿਆ ਹੈ।
ਖੋਜ ਬਹੁਤੀਆਂ ਐਪਾਂ ਦਾ ਕੇਂਦਰ ਹੈ: ਵੇਖੋ ਡਾਇਰੈਕਟਰੀ ਵੈੱਬਸਾਈਟ ਕਿਵੇਂ ਬਣਾਈਏ, ਜੌਬ ਬੋਰਡ ਕਿਵੇਂ ਬਣਾਈਏ ਅਤੇ ਮਾਰਕੀਟਪਲੇਸ ਕਿਵੇਂ ਬਣਾਈਏ ਦੇਖੋ ਕਿ ਇਹ ਬਾਕੀ ਉਤਪਾਦ ਵਿੱਚ ਕਿਵੇਂ ਫਿੱਟ ਹੁੰਦੀ ਹੈ।
ਸਵਾਲ
ਐਪ ਵਿੱਚ ਖੋਜ ਜੋੜਨ ਦਾ ਸਭ ਤੋਂ ਆਸਾਨ ਤਰੀਕਾ ਕਿਹੜਾ ਹੈ?
ਜੇ ਤੁਹਾਡਾ ਡੇਟਾ ਡੇਟਾਬੇਸ ਵਿੱਚ ਹੈ, ਤਾਂ ਇੱਕ ਸਰਵਰ ਰੂਟ ਜੋ ਕੁਝ ਕਾਲਮਾਂ 'ਤੇ ਬਿਨਾਂ ਕੇਸ ਦੇ ਮੇਲ ਨਾਲ ਕਤਾਰਾਂ ਫਿਲਟਰ ਕਰੇ, ਸਭ ਤੋਂ ਸੌਖੀ ਸ਼ੁਰੂਆਤ ਹੈ। ਛੋਟੀ ਸੂਚੀ ਜੋ ਪਹਿਲਾਂ ਹੀ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਲੋਡ ਹੈ, ਉਸ ਨੂੰ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਫਿਲਟਰ ਕਰਨਾ ਹੋਰ ਵੀ ਸੌਖਾ ਹੈ।
ਕੀ ਖੋਜ ਲਈ Algolia ਜਾਂ Elasticsearch ਦੀ ਲੋੜ ਹੈ?
ਆਮ ਤੌਰ 'ਤੇ ਸ਼ੁਰੂ ਵਿੱਚ ਨਹੀਂ। Postgres ਦੀ ਫੁੱਲ-ਟੈਕਸਟ ਖੋਜ ਸ਼ਬਦਾਂ ਦਾ ਮੇਲ, ਰੈਂਕਿੰਗ ਅਤੇ ਹਜ਼ਾਰਾਂ ਤੋਂ ਲੱਖਾਂ ਕਤਾਰਾਂ ਚੰਗੀ ਤਰ੍ਹਾਂ ਸੰਭਾਲਦੀ ਹੈ। ਹੋਸਟ ਕੀਤਾ ਸਰਚ ਇੰਜਣ ਉਦੋਂ ਲਾਭਦਾਇਕ ਹੈ ਜਦੋਂ ਤੁਹਾਨੂੰ ਮਜ਼ਬੂਤ ਟਾਈਪੋ ਸਹਿਣਸ਼ੀਲਤਾ, ਵੱਡੇ ਡੇਟਾ 'ਤੇ ਟਾਈਪ ਕਰਦਿਆਂ ਤੁਰੰਤ ਨਤੀਜੇ, ਜਾਂ ਉੱਨਤ ਪ੍ਰਸੰਗਿਕਤਾ ਟਿਊਨਿੰਗ ਚਾਹੀਦੀ ਹੋਵੇ।
ਮੇਰੀ ਖੋਜ ਟਾਈਪੋ ਵਾਲੇ ਨਤੀਜੇ ਕਿਉਂ ਨਹੀਂ ਲੱਭਦੀ?
ਬੁਨਿਆਦੀ ਮੇਲ ਅਤੇ ਆਮ ਫੁੱਲ-ਟੈਕਸਟ ਖੋਜ ਸ਼ਬਦਾਂ ਨੂੰ ਜਿਵੇਂ ਟਾਈਪ ਕੀਤੇ ਗਏ ਹਨ (ਜਾਂ ਉਹਨਾਂ ਦੇ ਮੂਲ ਰੂਪ) ਵਿੱਚ ਲੱਭਦੀ ਹੈ, ਇਸ ਲਈ ਗਲਤ ਸ਼ਬਦ-ਜੋੜ ਖੁੰਝ ਜਾਂਦਾ ਹੈ। ਤੁਹਾਨੂੰ ਫਜ਼ੀ ਮੇਲ ਚਾਹੀਦਾ ਹੈ, ਜਿਵੇਂ Postgres ਵਿੱਚ trigram ਸਮਾਨਤਾ ਜਾਂ ਟਾਈਪੋ ਸਹਿਣਸ਼ੀਲਤਾ ਵਾਲਾ ਸਰਚ ਇੰਜਣ।
ਕੀ ਖੋਜ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ ਜਾਂ ਸਰਵਰ 'ਤੇ?
ਛੋਟੀ ਜਨਤਕ ਸੂਚੀ ਤੋਂ ਵੱਧ ਕਿਸੇ ਵੀ ਚੀਜ਼ ਲਈ ਸਰਵਰ 'ਤੇ। ਸਰਵਰ ਵਾਲੀ ਖੋਜ ਵਧਦੀ ਹੈ, ਇਜਾਜ਼ਤਾਂ ਦਾ ਆਦਰ ਕਰਦੀ ਹੈ, ਅਤੇ ਹਰ ਵਿਜ਼ਿਟਰ ਨੂੰ ਤੁਹਾਡਾ ਪੂਰਾ ਡੇਟਾਸੈੱਟ ਨਹੀਂ ਭੇਜਦੀ।