Построители запросов - не должны / не должны - PullRequest
4 голосов
/ 18 апреля 2011

Я новичок в поисковой системе, и мне было интересно, сможет ли кто-нибудь помочь мне прояснить поисковые запросы Must / MustNot и Should / ShouldNot.

Мое понимание таково:

Запросы Must / MustNot являются абсолютными определениями (т. Е. Результат не должен / не должен содержать указанное поле)

Запросы Следует / Должно быть относительными определениями (т. Е. В некоторых сценариях он не должен / не должен содержать указанные поля)

Если это правильно, может кто-нибудь предоставить мне пример того, когда вы будете использовать Следует / Должно быть ... и если мое понимание совершенно неверно - будет ли кто-то достаточно любезен, чтобы объяснить это для меня (илиукажите мне на хороший сайт)?

Спасибо!

Ps.Я использую эластичный поиск (на основе Lucene) - но любые примеры / объяснения приветствуются

1 Ответ

4 голосов
/ 18 апреля 2011

Ваше понимание верно.НЕ ДОЛЖНЫ быть результаты, получающие меньший вес при обнаружении, тогда как НЕ ДОЛЖНЫ никогда не включаться.

НЕ СЛЕДУЕТ использовать, когда термин, скорее всего, принадлежит другому домену, но в некоторых случаях может все еще находиться в одном документе с тем, который я ищу.Например, Google знает, что я программист на Java.Когда я спрашиваю «муравей», первым результатом будет «Apache Ant».Я могу использовать НЕ ДОЛЖЕН в качестве «-Apache», или я могу использовать НЕ СЛЕДУЕТ «Apache» на тот случай, если на какой-то странице описано особое место муравьев в мировоззрении туземцев Apache.ищу бесплатное программное обеспечение для выполнения задачи;Тем не менее, я бы посчитал платным, если он не дорогой или у них есть личная лицензия.Поэтому я бы не использовал «покупать сейчас», а результаты включали бы платное программное обеспечение, но ниже в списке.

...