Как искать в поле текстовой области django Postgres несколько слов? - PullRequest
0 голосов
/ 18 сентября 2018

Я создаю веб-сайт по набору персонала, и мне нужно выполнить поиск по текстовому полю ключевых навыков для нескольких значений.

например.Возможно, я ищу программиста на C ++ с хорошим python и работал в области данных здравоохранения.

, поэтому в форме поиска я бы поставил ученого c ++ python для данных здравоохранения.

там может быть до20 сотрудников проводят поиск по базе данных с несколькими тысячами записей.Мне нужно знать, какая технология лучше всего подходит для такого поиска с базой данных Django и postresql, размещенной на digitalocean.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Я могу предложить использовать Django с полнотекстовым поиском PostgreSQL.

На мой взгляд, это лучшее решение, потому что у вас будут данные и поисковые индексы непосредственно внутри PostgreSQL , а вы -не будет вынужден устанавливать и обслуживать дополнительное программное обеспечение (например, Elasticsearch ) и синхронизировать данные и индексы.

Это простейший пример кода, который вам может потребоваться выполнить полнотекстовый поиск в Django с PostgreSQL:

search_entry = 'c++ python healthcare data scientist'
Person.objects.filter(skills__search=search_entry)

Для всей базовой документации по использованию полнотекстового поиска в Django с PostgreSQL вы можете использовать официальную документацию: " Полнотекстовый поиск "

Если вы хотите углубиться дальше, вы можете прочитать статью , которую я написал на эту тему:

" Полнотекстовый поиск в Django с PostgreSQL "

0 голосов
/ 18 сентября 2018

Вы должны изучить использование хранилища JSONB в postgres.Который является NOSQL внутри базы данных SQL.

https://www.postgresql.org/docs/9.6/static/functions-json.html

Как получить доступ в DJANGO https://docs.djangoproject.com/en/2.1/ref/contrib/postgres/fields/#querying-jsonfield

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...