Я использую solr для запроса. Я хочу найти все документы, чей ключ "title" содержит текст "Bifidobacterium bifidum" или ключевой "абстрактный", содержит текст "Bifidobacterium bifidum". Поэтому я пишу свой запрос, как показано ниже:
String queryCondition = "title:*Bifidobacterium bifidum* OR abstract:*Bifidobacterium bifidum*";
В результате я обнаружил, что возвращаемый результат не является тем, что я хочу, все документы, чье название содержит "Bifidobacterium" или "bifidum", или чей титул содержит "Bifidobacterium" или "bifidum", возвращаются. Итак, мой вопрос: как мне написать свой запрос, чтобы удовлетворить мою потребность в запросах?
*
- специальный символ, подстановочный знак. Подобно регулярным выражениям, он сообщает Solr, чтобы он соответствовал всем. Таким образом, запрос на bifidum*
вернет все, что начинается с bifidum. Не то, что вы хотите, не так ли?
Когда вы читаете о синтаксисе запроса Solr в руководстве, вы найдете раздел с названием " Задание терминов для стандартного анализатора запросов".
Фраза - это группа слов, окруженная двойными кавычками, такими как "hello dolly",
Это то, что вам нужно...