Можно ли объединить текст, используя функцию уменьшения Apache CouchDB? - PullRequest
0 голосов
/ 18 сентября 2010

Рассмотрим примерный результат от функции карты:

"key": "andy", "value" :  "Once upon a time",
"key": "andy", "value" :  "...",
"key": "andy", "value" :  "They all lived happily ever after.",

Я хотел бы создать функцию приведения, которая генерирует:

"key":"andy", 
"value":"Once upon a time ... They all lived happily ever after."

1 Ответ

1 голос
/ 20 сентября 2010

Функция приведения агрегирует значения функции карты, но она должна быть ассоциативной и коммутативной.Если вы используете простую конкатенацию в качестве функции сокращения, вы можете получить «Все они жили долго и счастливо.Давным-давно ... », что, вероятно, не то, что вы хотите.Я не могу представить себе функцию сокращения, которая приводит к тому, что «Давным-давно ... Они все жили долго и счастливо».наверняка.Я думаю, вам нужно выполнить часть работы на стороне клиента.Но вам нужна информация о правильном порядке ваших текстовых фрагментов.Ваше текущее представление не имеет информации об этом.В представлении нет порядка для значений с тем же ключом.Вам может понадобиться составной ключ, который, кроме 'andy', хранит информацию о правильном порядке.

Вот ссылки на функции сокращения, которые могут оказаться полезными:

http://damienkatz.net/2008/02/incremental_map.html

http://damienkatz.net/2008/02/incremental_map_1.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...