Я стремлюсь реализовать функцию подсказки типа подсказки solr и спрашиваю, каков будет наилучший подход с точки зрения Analyzers & Filters et c для химических соединений, которые отличаются от общего текста. Я посмотрел на AnalyzingInfixLookupFactory , но не думаю, что он допускает нечеткий поиск, а FuzzyLookupFactory ищет только начало строки.
пример данных:
- 2-ацетамидо-1,3,4-три-O-бутаноил-2-дезокси-D-маннопираноза
- Бензофенон-имин
- L-аденозин 5'- монофосфат
Я хотел бы добиться следующего:
- Результаты, когда текст находится в начале слова. q = L-Аден => L-Аден 5'-монофосфат осина (обратите внимание на включение дефиса)
- Результаты, когда текст находится в середине слово. q = monophos => L-аденозин 5 '- monophos phate
- Разрешить нечеткий фильтр для двух орфографических ошибок слова q = monofhos => L-аденозин 5 '- monophos phate
Я попытался реализовать нижеприведенное, использующее полный индекс, но не смог заставить его работать. Однако он не допускает нечеткого поиска.
http://www.cominvent.com/2012/01/25/super-flexible-autocomplete-with-solr/
Большое спасибо