Я создал собственный токенизатор в Solr, который ищет именованные объекты. Я хотел бы иметь возможность использовать эту информацию для заполнения отдельных полей в документе lucene / solr.
В качестве примера я хочу заполнить многозначное поле, называемое «местоположения», всеми именами местоположений, которые были извлечены из текста. Для извлечения местоположений текст сначала разбивается на токены, чтобы отделить слова и определить, какие жетоны являются местоположениями. После этого я хотел бы выдать токены для токенизатора, а также заполнить поле «местоположения» всеми именами местоположений, которые были извлечены из текста.
Из проведенного мною исследования нет способа получить доступ к объекту SolrDocument из Tokenizer или TokenizerFactory, поэтому нет способа заполнять поля отсюда.
Решение, которое я до сих пор придумала, заключается в создании пользовательского UpdateRequestProcessorFactory, который обрабатывает текст и извлекает поля, а затем Tokenizer обрабатывает текст снова для получения токенов. Я хотел бы найти способ выполнить эту работу и обработать текст только один раз.