Для каждого проекта может быть N файлов и некоторые дополнительные данные . Я хочу индексировать и искать все информационные поля проекта, а также индексировать файлы для них. У меня есть следующее сопоставление:
Код: Выделить всё
# documents.py
class ProjectDocument(Document):
project_name = fields.TextField(analyzer=text_analyzer)
files = fields.NestedField(properties={
'id': fields.IntegerField(),
'content': fields.NestedField(
properties={
'page': fields.IntegerField(),
'body': fields.TextField(analyzer=doc_analyzer)
}
)
})
file_names = fields.TextField(analyzer=text_analyzer)
mdt = fields.TextField(analyzer=text_analyzer)
Я вижу, что возвращаемые обращения к файлам зависят от того, на каком номере страницы была найдена совпавшая фраза, и есть выделение. фрагмента фразы и подсчет количества совпадений в файле. Что-то вроде (только для демонстрации контекста, в котором будут результаты):
Код: Выделить всё
Page 1: ..... hello world ...
Page 2: ... the world is saying hello ... the hellos of the world ...
+ 234 more matches for 'hello world' in the file
Подробнее здесь: https://stackoverflow.com/questions/790 ... -flattened