Насколько я знаю, что lucene (.NET) не поддерживает подстановочный знак в начале searchterm-> http://lucene.apache.org/java/2_0_0/queryparsersyntax.html "Примечание: Вы не можете использовать * или? символ как первый символ поиска".
например, * myword
возможно, потому что это тихо трудный искать "все" перед searchterm.
Несмотря на это, Мы смотрим для способа использовать подстановочный знак вначале. Кто-либо знает, возможно ли это?
Одна Мысль была asearchterm, bsearchterm.... z*searchterm..., но это кажется немного случайным мне.
заранее спасибо
Ваш вопрос помечен тегом Lucene.NET, поэтому я предполагаю, что вы имеете в виду версию .NET, а не версию Java.
Да, вы можете иметь подстановочные знаки в начале поискового запроса через
var queryParser = new QueryParser(LuceneVersion, "content", new StandardAnalyzer(LuceneVersion));
queryParser.SetAllowLeadingWildcard(true);
но вы должны помнить о последствиях для производительности. Более подробный исходный код можно найти в этом блоге.
Поскольку Lucene.NET является портом Java-версии, я подозреваю, что вы можете использовать тот же подход для Java-версии. Однако я не проверял это.