Чтобы проиллюстрировать мои требования, рассмотрим следующую структуру каталогов:
C: \ Dev
C: \ Dev \ Projects
C: \ Dev \ Projects \ Test Project
C: \Dev \ Projects \ Test Project \ Test.cs
C: \ Dev \ Projects \ Foo
C: \ Dev \ Projects \ Foo \ foo.cs (содержащий слово test)
БазовыйУ документа будут поля id, type, name и content, где типом будет файл или папка, а name будет имя файла или имя эфира.
При поиске «test» я должен получить:
C: \ Dev (предок результата)
C: \ Dev \ Projects (предок результата)
C: \ Dev \ Projects \ Тестовый проект (результат)
C: \ Dev (предок результата)
C: \ Dev \ Projects (предок результата)
C: \ Dev \ Projects \Тестовый проект (предок результата)
C: \ Dev \ Projects \ Тестовый проект \ Test.cs (результат)
C: \ Dev (предок результата)
C: \ Dev \ Projects (предок результата)
C: \ Dev \ Projects \ Foo (предок результата)
C: \ Dev \ Projects \ Foo \ foo.cs (результат)
Еще лучше, если онможно избежать дублирования:
C: \ Dev (предок результата)
C: \ Dev \ Projects (предок результата)
C: \ Dev \ Projects \ Test Project (результат)
C: \ Dev \ Projects \ Test Project \ Test.cs (результат)
C: \ Dev \ Projects \ Foo (предок результата)
C: \ Dev \ Projects \ Foo \ foo.cs (результат)
При поиске «проекта» я должен получить:
C: \ Dev (предок результата)
C: \ Dev \ Projects (предок результата)
C: \ Dev \ Projects \ Test Project (результат)
При поиске "foo" я должен получить:
C: \ Dev (предок)результата)
C: \ Dev \ Projects (предок результата)
C: \ Dev \ Projects \ Foo (результат) C: \ Dev \ Projects \ Foo \ foo.cs (результат)
Спасибо за любую помощь