Сортировка в папке

wowa

Well-known member
01.02.2007
845
0
#1
У меня есть коллекция документов
Set dcCollection = db.FTSearch(stSearch , 0, FT_SCORES)
Мне нужно запихнуть эту коллекцию в папку в таком порядке как она сформирована

Метод FTSearch дает отсортированную коллекцию. А в папке стоит своя сортировка, не имеющая ничего общего с FTSearch.
А если в каждом документе будет какое-н левое поле...
У меня получится правильно отсортированная коллекция...
Я возьму один документ и занесу в это поле 1, второй - 2..... и т.д. а потом в папке отсортирую по возрастанию по этому полю...
Вот только вопрос... оно наверно сильно будет тормозить ???
Для: wowa
Работать будет.
Только это не очень хорошо. По нескольким причинам. Одна из них, что в результате можешь получить пачку конфликтов записи/репликации.

Какие есть варианты, чтобы избавиться от этих конфликтов????
Папка типа Shared, private on first use
Может не будет этих ошибок, если одновременно будут работать несколько пользователей,... ведь они сформируют свою папку и все.... и пусть другой пользователь формирует свою коллекцию меняя значение этого "левого" поля
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
<!--QuoteBegin-wowa+1:10:2007, 08:52 -->
<span class="vbquote">(wowa @ 1:10:2007, 08:52 )</span><!--QuoteEBegin-->Какие есть варианты, чтобы избавиться от этих конфликтов????
[snapback]80156" rel="nofollow" target="_blank[/snapback]​
[/quote]
Может и будет используя банальный Lock? только вот Вам ситуация, одновремено документ Ц-123 поадобился пупкову и вовчкиу,
у пупкова этот документ идёт 113ым по списку, а у вовчкина 32ым, ну и что тут делать?
какое значение писать в документ!?

Выход - просто дать пользователям папки пусть сами клацают и сортируют как хотят ( но не потем полям что Вы предложили, а по обычным - типа даты регистрации и т.д. )
 

wowa

Well-known member
01.02.2007
845
0
#3
Для: Morpheus
У меня есть строка поиска, там пользователь пишет
"База отдыха Беларусь"
я получаю коллекцию по совпадениям... т.е. сначала доки с 3 словами, далее 2 и 1
Вот нужно запихнуть эту коллекцию
<!--QuoteBegin-Morpheus+1:10:2007, 09:03 -->
<span class="vbquote">(Morpheus @ 1:10:2007, 09:03 )</span><!--QuoteEBegin-->только вот Вам ситуация, одновремено документ Ц-123 поадобился пупкову и вовчкиу,
[snapback]80158" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ну врядли им понадобятся доки в одну и туже милисекунду....
Если им понадобится один и тот же док одновременно,.. то в поле Пупков занесет 113 и сформирует свою коллекцию в приватной папке, ну и пусть с разницей в одну секунду начал формировать вовчкиу , он меняет значение 113 на 32, и тоже формирует в своей папке... Пупков же я думаю ничего не заметит что то поле поменялось... у него как была коллекция правильно расположена, так и осталась....
Или я не прав???
Может есть какие-н другие варианты....??? Например создавать для каждого пользователя разные поля с некой индивидуальной приставкой , а потом эти поля удалять? Или есть еще варианты?
 
R

Ronchik

#4
Для: wowa
Ещё вариант выводить результат поиска не в папку а создавать отдельный документ с ссылками на найденые документы
 

morpheus

скриптописец
07.08.2006
3 915
1
#5
<!--QuoteBegin-wowa+1:10:2007, 09:27 -->
<span class="vbquote">(wowa @ 1:10:2007, 09:27 )</span><!--QuoteEBegin-->Ну врядли им понадобятся доки в одну и туже милисекунду....
[snapback]80160" rel="nofollow" target="_blank[/snapback]​
[/quote]

кто сказал? у Вас скрипт работает милисекунду, а вдруг пользователь захотел отсортировать ещё рах коллекцию - и что? порядковый номер документа уже изменился - и документ полетел куда то в никуда

Ronchik привёл правильный вариант - сслыками в нужном Вам порядке
 

wowa

Well-known member
01.02.2007
845
0
#6
<!--QuoteBegin-Morpheus+1:10:2007, 09:54 -->
<span class="vbquote">(Morpheus @ 1:10:2007, 09:54 )</span><!--QuoteEBegin-->Например создавать для каждого пользователя разные поля с некой индивидуальной приставкой , а потом эти поля удалять?
[snapback]80166" rel="nofollow" target="_blank[/snapback]​
[/quote]
А как этот вариант?
 

morpheus

скриптописец
07.08.2006
3 915
1
#7
Для: wowa
представляете что патом будет с Вашими документами? по 300 полей! будет такой момент что ВЫ просто забудете их от туда удалить или рпросто збоёнйт электричесво

чем Вам не нравиться вариант с линками - его плюс что документ можо сохранить )
 

wowa

Well-known member
01.02.2007
845
0
#8
Для: Morpheus
Да вот желательно с папкой
А если сделать поле "Левое"
А туда запихнуть
"Пупкин=113 ; Сидоров = 56" и т.д.
Далее Находить нужное число и формировать папку,
И очищать фамилию или после использования пользователем... Или агентом раз в неделю полностью поле
 

Omh

Lotus team
04.07.2007
2 210
1
#9
Не надо так рьяно модифицировать документы.
Хорошая идея уже прозвучала: делать док с сортироваными по необходимости ссылками.
 

morpheus

скриптописец
07.08.2006
3 915
1
#10
Для: wowa
У Вас почти 100 гарантия не работы т.к.
всегда получиться одновременный доступ к документу, и ктото пропишет свою фамилию, а кто то нет, да и как папка будет знать по какому полю сортировать

да и вообще , я считаю что одним документом лучше, зачем Вам папка