У меня есть простое строковое значение "PART_NUMBER" в качестве поля в solr.Я хотел бы добавить дополнительное поле, которое помещает это значение в поле URL.Для этого я создал новый тип поля, поле и поле для копирования
"add-field-type": {
"name": "endpoint_url",
"class": "solr.TextField",
"positionIncrementGap": "100",
"analyzer": {
"tokenizer": {
"class": "solr.KeywordTokenizerFactory"
},
"filters": [
{
"class": "solr.PatternReplaceFilterFactory",
"pattern": "([\\s\\S]*)",
"replacement": "http://myurl/$1.jpg"
}
]
}
},
"add-field": {
"name": "URL",
"type": "endpoint_url",
"stored": true,
"indexed": true
},
"add-copy-field":{ "source":"PART_NUMBER", "dest":"URL" }
Как некоторые из вас, вероятно, догадались, выходные данные моего запроса выглядят как
{
"id": "1",
"PART_NUMBER": "ABCD1234",
"URL": "ABCD1234",
"_version_": 1645658574812086272
}
Поскольку тип поля endpoint_urlтолько изменяет индекс.Действительно, когда я делаю свой анализ, я получаю
http://myurl/ABCD1234.jpg
Мой вопрос: есть ли способ применить токенизатор или фильтр и вернуть его обратно в значение поля?Я бы предпочел этот вывод при возврате результата:
{
"id": "1",
"PART_NUMBER": "ABCD1234",
"URL": "http://myurl/ABCD1234.jpg",
"_version_": 1645658574812086272
}
Возможно ли это сделать в Solr?