Во-первых, я думаю, что подстановочные знаки Solr лучше суммировать как "0 или много", чем "1 или много".Я сомневаюсь, что это источник вашей проблемы.(Например, см. javadocs для WildcardQuery .)
Во-вторых, используете ли вы stemming, потому что я думаю, что вы имеете дело с проблемой stemming.Символы подстановки Solr могут вести себя как-то странно со стеммингом.Это связано с тем, что расширение по шаблону основано на поиске в списке терминов, хранящихся в инвертированном индексе;эти термины будут в стебельной форме (возможно, что-то вроде «gatorad»), а не слова из исходного исходного текста (возможно, «gatorade» или «gatorades»).
Например, предположим, что у вас естьстеммер, который отображает «gatorade» и «gatorades» в стебле «gatorad».Это означает, что ваш инвертированный индекс не будет содержать ни «gatorade», ни «gatorades», а только «gatorad».Если вы затем выполните запрос gatorade *, Solr будет выполнять поиск по индексу терминов, ища все основы, начинающиеся с "gatorade".Но таких стволов нет, поэтому совпадений не будет.Точно так же, если вы искали gatorades *, Solr будет искать все стебли, начинающиеся с "gatorades".Но таких основ нет, поэтому совпадений не будет.
В-третьих, для оптимальной помощи, я бы предложил опубликовать дополнительную информацию, в частности:
- НекоторыеURL конкретных запросов, которые вы отправляете в Solr
- Выдержка из вашего файла schema.xml.В частности, включите A) элементы полей для полей, с которыми у вас возникли проблемы, и B) определения типов полей, соответствующих этим полям