Как полностью удалить слово из индекса Apache Solr? - PullRequest
0 голосов
/ 30 апреля 2019

Я использую Apache Solr 6.6.5.Когда пользователь ищет «ETCS» (специальный технический термин), тогда все документы являются совпадениями, которые содержат слово «и т. Д.».Но я хочу сопоставлять только те документы, которые действительно содержат «ETCS».Solr никогда не должен даже индексировать «и т. Д.», Поскольку это такое распространенное слово.Стеммер никогда не должен превращать «etc» в «etcs» (множественное число).

Я добавил «etc» в stopwords.txt:

# Contains words which shouldn't be indexed for fulltext fields, e.g., because
# they're too common. For documentation of the format, see
# http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.StopFilterFactory
# (Lines starting with a pound character # are ignored.)
etc

Я добавил «etc» в прототипы.txt:

#-----------------------------------------------------------------------
# This file blocks words from being operated on by the stemmer and word delimiter.
&
<
>
'
"
etc

Это помогает не сопоставлять документы, содержащие «и т. д.», но документы, содержащие «и т. д.», «и т. д.» или аналогичные, все еще совпадают.

Итак, яМожно добавить еще больше вариантов в protwords.txt:

&
<
>
'
"
etc
etc.
etc..
etc...
etc,

Но это всегда будет неполным.Как я могу сказать стеммеру рассматривать «и т. Д.» Как токенизированное слово с произвольными несловарными символами вокруг него?

Мой schema.xml: https://gist.github.com/klausi/f59ee47a9b14b915f5bb44bd6cf1c945

1 Ответ

1 голос
/ 30 апреля 2019

1.)

Я добавил "etc" в protwords.txt:

Вы должны добавить etcs к протоболам, чтобы защитить stemming термина etcs.

2.)

Так что я мог бы добавить еще больше вариантов в protwords.txt:

Добавьте все варианты слов, которые вы хотите удалить из индекса, в stopwords.txt, а не protwords.txt

3.) Проверьте, какой тип файла вы используете. Может быть, вы можете настроить это здесь немного

// Редактировать: добавление ссылки на ваш schema.xml не поможет, если вы не объясните, какое поле вы используете.

4.) Не забудьте перезапустить и (при необходимости) переиндексировать ваш индекс.

...