Текстовый индекс Mongodb над сложным вложенным документом - PullRequest
0 голосов
/ 27 февраля 2019

Я хотел бы иметь коллекцию постов, отформатированных пользователем (для отображения на html при рендеринге).Таким образом, сообщение представляется в виде сложного вложенного / внедренного документа.E. g.:

{
    "_id": "5b33ed7ea7bc8100143c6de0",
    "Author" : "127.0.0.1",
    "Image": "0xDEADBEAF.jpg"
    "Message": [
        {
            "b" : [
                {
                    "txt": "strong"
                },
                {
                    "i": [
                        {txt: "strong and emphasis"}
                    ]
                }
            ],
            txt: "plain"
        }
    ]
}

Мне нужно реализовать полнотекстовый поиск по сообщениям.

Документация состояния:

Текстовые индексыможет включать любое поле, значением которого является строка или массив строковых элементов.

И

При создании текстового индекса для нескольких полей вы также можете использовать подстановочный знакспецификатор ($ **).Используя подстановочный текстовый индекс, MongoDB индексирует каждое поле, содержащее строковые данные для каждого документа в коллекции.... Такой индекс может быть полезен для сильно неструктурированных данных, если неясно, какие поля включить в текстовый индекс или для специальных запросов.

Тогда в примере они показывают, что $**подстановочный знак охватывает все поля документа.Но я не хочу, чтобы индекс включал поля Author и Image.Можно ли использовать с подстановочными знаками только конкретный поддокумент?

...