не хватает в штатных меню (и диалог-элементах типа List) подобия full-text search.
мотивация думаю что понятна?
Возьмем такой сценарий, в меню есть пункт "мама мыла раму".
Когда я ищу "мама раму мыла" я хочу чтобы находился этот пункт, сейчас он не находится.
лучше чтобы было обьединено с темой про wildcards:
viewtopic.php?f=7&t=12241
..но не зная как для разработчиков эффективнее, оставляю на усмотрение
ключевые слова для тех кто ищет по форуму:
menu, listbox, combobox, list, full text, search, filter
"full text" search (filter) в штатных меню (и диалог-элементах типа List)
"full text" search (filter) в штатных меню (и диалог-элементах типа List)
Last edited by citRiks on Sun 20 Sep, 2020 12:22, edited 2 times in total.
- buniak_a_h
- Posts: 4268
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
"full text" search (filter) в штатных меню (и диалог-элементах типа List)
Я не знаю термина full text search, поэтому несколько уточняющих вопросов.
1. Должна ли находиться строка "мыла мама раму"? Т.е. нечто типа «найти строку, содержащую все перечисленные слова в любом порядке, но только их» (я имею в виду без вкрапления "левых" слов между ними"?
2. Должна ли находиться строка «мама чисто раму мыла»? Т.е. могут ли между перечисленных слов встречаться "левые"?
3. На самом деле это понятие, если перевести буквально, очень похоже на "точное совпадение". Но только почему-то наоборот…
─────────
Я когда-то писал, что отфильтрованным строкам выставляется флаг, не поименованный в LISTITEMFLAGS. Можно было бы, используя этот флаг, реализовать то, что в некоторых СУБД называется RYOFilter (ROLL-YOUR-OWN-filter). Меня отругали, что это - внутренний флаг, который низзя трогать. А так-то было бы здорово… Ну, или действительно перечислять слова с выбором "все перечисленные" - "хотя бы одно слово".
1. Должна ли находиться строка "мыла мама раму"? Т.е. нечто типа «найти строку, содержащую все перечисленные слова в любом порядке, но только их» (я имею в виду без вкрапления "левых" слов между ними"?
2. Должна ли находиться строка «мама чисто раму мыла»? Т.е. могут ли между перечисленных слов встречаться "левые"?
3. На самом деле это понятие, если перевести буквально, очень похоже на "точное совпадение". Но только почему-то наоборот…
─────────
Я когда-то писал, что отфильтрованным строкам выставляется флаг, не поименованный в LISTITEMFLAGS. Можно было бы, используя этот флаг, реализовать то, что в некоторых СУБД называется RYOFilter (ROLL-YOUR-OWN-filter). Меня отругали, что это - внутренний флаг, который низзя трогать. А так-то было бы здорово… Ну, или действительно перечислять слова с выбором "все перечисленные" - "хотя бы одно слово".
Last edited by buniak_a_h on Sun 20 Sep, 2020 17:19, edited 1 time in total.
"full text" search (filter) в штатных меню (и диалог-элементах типа List)
ну типа того, как гуголь ищет, напишите в гугле в любом порядке "раму мама мыла", "мыла раму мама", все найдется с равным успехом.buniak_a_h wrote: ↑Sun 20 Sep, 2020 17:17 Я не знаю термина full text search, поэтому несколько уточняющих вопросов.
Если формально:
"Найти строки содержащие все заданные слова, в любом порядке"
"full text" search (filter) в штатных меню (и диалог-элементах типа List)
По стандарту - вкрапления разных других слов считаются допустимыми, если сами все слова присутствуют, гуголь тоже соответствует такому поведениюя имею в виду без вкрапления "левых" слов между ними"?
"full text" search (filter) в штатных меню (и диалог-элементах типа List)
да, допустимы вкрапления и левые слова между нужными словами.buniak_a_h wrote: ↑Sun 20 Sep, 2020 17:17 2. Должна ли находиться строка «мама чисто раму мыла»? Т.е. могут ли между перечисленных слов встречаться "левые"?
согласен, не очень удачно переводится, другое название на ту же тему "free text search".3. На самом деле это понятие, если перевести буквально, очень похоже на "точное совпадение". Но только почему-то наоборот…
Смысл: "Искать по всем словам по всему полностью тексту в любом порядке полностью"