2010-08-05 29 views
9

Bildiğim kadarıyla, lucene (.net) bir arama motorunun başlangıcındaki joker karakteri desteklemiyor ->http://lucene.apache.org/java/2_0_0/queryparsersyntax.html "Not: * veya? Bir aramanın ilk karakteri olarak sembol. " Örneğin o searchterm önce "her şey" arama zor sessiz belki * mywordArama motorunun başlangıcındaki joker -Lucene

için

.

Buna rağmen, joker karakterini başlangıçta kullanmak için bir yol arıyoruz. Bunun mümkün olup olmadığını bilen var mı?

Bir Düşünce .... z * searchterm , searchterm b bir searchterm ... ama o bana biraz rasgele görünüyor. peşin

sayesinde

cevap

15

Sorunuz Lucene.Net ile etiketlenmiş yüzden .NET sürümü yerine Java sürüm demek varsayalım.

Evet, üzeri

var queryParser = new QueryParser(LuceneVersion, "content", new StandardAnalyzer(LuceneVersion)); 
queryParser.SetAllowLeadingWildcard(true); 

bir arama terimi başında joker olabilir ancak performans sonuçlarının farkında olmak gerekir. Bu blog içinde daha ayrıntılı kaynak kodu bulun.

Lucene.NET, Java sürümünün bir bağlantı noktası olduğundan, aynı sürümü Java sürümü için kullanabileceğinizi düşündüğümden şüpheliyim. Bunu doğrulamadım.

+1

Haklısınız. Lucene Java için aynı yöntem setAllowLeadingWildcard bir QueryParser-Object üzerinde de kullanılabilir. – Tobias

+1

Bugün itibariyle, şu anda bir özellik: parser.AllowLeadingWildcard = true; – mbowles