Как искать в 5 словах ключевого слова - PullRequest
0 голосов
/ 17 июня 2019

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

Например, мы ищем "access to care" "access to healthcare" "healthcare access" "health care access" и т. Д.

Есть ли способ написать в коде что-то вроде:

if 5 words before or after 'access' is 'health' or 'care' then 1,0

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

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

Реализация логики поиска зависит, прежде всего, от того, как должны обрабатываться поисковые термины, например, вот лишь некоторые соображения:

  • Должны ли несколько поисковых терминов подчиняться логике OR или AND? То есть, должны ли любой или все условий совпадать, чтобы запись появилась в результатах? Если применяется логика OR, то указание большего количества терминов расширит поиск; тогда как, если применяется логика AND, указание большего количества терминов сузит поиск.

  • Следует ли игнорировать соединительные слова? Например, to в access to care. Если вы реализуете логику OR, это приведет к любой записи, содержащей слово to, которая может привести к множеству несущественных результатов.

  • Если соединительные слова должны быть пропущены, вам нужно решить, как определить, из чего состоит слово, которое следует пропустить:

    • Должна ли программа читать такие слова из сохраненного словаря?
    • Автоматически опускать слова короче заданной длины?
0 голосов
/ 18 июня 2019

Вы можете использовать что-то подобное в своем выражении SQL

= ... LIKE '*access*' or LIKE '*health*'
...