Как я могу использовать lucene's shingleanalyzerwrapper + standardanalyzer + indexreader? - PullRequest
0 голосов
/ 11 мая 2011

Я надеюсь, что вы можете помочь мне с этой проблемой. Что я намерен сделать: При правильном тексте я хочу посчитать частоты для каждой стеммизированной токенограммы без стоп-слов (другими словами, стоп-слова уже удалены).

Это ситуация: Я индексирую некоторые тексты с помощью IndexWriter с помощью ShingleAnalyzerWrapper + StandardAnalyzer и когда добавляю документ в IndexWriter (например: indexwriter.addDocument (doc, analyzer); где снова анализатор, ShingleAnalyzerWrapper + StandardAnalyzer).

Но проблема в следующем: Когда я получаю термин «частоты» и термины, кажется, что стоп-слова заменяются подчеркиванием.

Это ввод:
String text = "чтобы я хотел, чтобы я хотел связать";
String text2 = "super by hard easy";

Это вывод:
Термин: | частота: 6
термин:
_ | частота: 2
термин: _ жесткий | частота: 1
термин: _ я | частота: 2
термин: _ ссылка | частота: 1
термин: легко | частота: 1
термин: жесткий | частота: 1
термин: трудно легко | частота: 1
термин: я | частота: 2
термин: я хочу | частота: 2
термин: ссылка | частота: 1
термин: супер | частота: 1
термин: супер _ | частота: 1
Термин: хотите | Частота: 2
термин: хочу _ | частота: 2

Если что-то неясно, пожалуйста, спросите меня, чтобы я попытался прояснить ситуацию

Спасибо за помощь

1 Ответ

0 голосов
/ 12 мая 2011

см. http://www.lucidimagination.com/search/document/e5681676403a007b/can_i_omit_shinglefilter_s_filler_tokens для некоторых решений.

В этом случае кажется, что вы, вероятно, хотите отключить увеличение позиции на вашем стоп-фильтре, поскольку вы не хотите вводить "дыру" в том месте, где был стоп-слово, вы хотите притворяться, будто их никогда не было.

...