Я использую 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