Новое в Lucene.Net Какой лучший анализатор использовать в Lucene.Net? Кроме того, я хочу знать, как использовать функции Stop words и word stemming?Характеристики Lucene.Net
ответ
Я также новичок в Lucene.Net, но я знаю, что Simple Analyzer опускает любые слова остановки и индексирует все токены/работы.
Вот ссылка на некоторую информацию Lucene, кстати, версия .NET - это почти идеальная байтовая байтовая версия Java-версии, поэтому в большинстве случаев документация на Java должна работать нормально: http://darksleep.com/lucene/. Там есть раздел о трех анализаторах: Simple, Stop и Standard.
Я не уверен, как Lucene.Net обрабатывает слово stemming, но эта ссылка, http://www.onjava.com/pub/a/onjava/2003/01/15/lucene.html?page=2, демонстрирует, как создать свой собственный анализатор на Java, и использует PorterStemFilter для создания слов.
... [T] он Porter алгоритм морфологического (или «Портер парадигматический») представляет собой процесс для удаления более общих морфологических и окончаний из слов на английском языке
Я надеюсь, что это полезно ,
Лучший анализатор, который я нашел, это StandardAnalyzer, в котором вы также можете указать временные слова. Пример: -
string indexFileLocation = @"C:\Index";
string stopWordsLocation = @"C:\Stopwords.txt";
var directory = FSDirectory.Open(new DirectoryInfo(indexFileLocation));
Analyzer analyzer = new StandardAnalyzer(
Lucene.Net.Util.Version.LUCENE_29, new FileInfo(stopWordsLocation));
Это зависит от ваших требований. Если ваши требования очень просты - например, case insensitve, non-stemming search - тогда StandardAnalyzer - хороший выбор. Если вы изучите класс Analyzer и познакомитесь с Filters, в частности TokenFilter, вы можете exert an enormous amount of control по вашему индексу, свернув свой собственный анализатор.
Стэммеры сложны, и важно иметь глубокое понимание того, какой тип стрижки вам действительно необходим. Я использовал стволовых сноубордов. Например, слово «политика» и «полиция» имеют один и тот же корень в английском стеблесте, и попадание на документы с «политикой», когда термин «полиция» не так горячий. Я реализовал стратегии поддержки начального и не-стеблевого поиска, которых можно избежать, но важно понять влияние.
Остерегайтесь соблазнов, таких как слова остановки. Если вам нужно найти фразу «быть или не быть», и стандартные слова остановки включены, ваш поиск не сможет найти документы с этой фразой.