ниже - это данные, которые хранятся в базе данных mongodb,
{
"_id" : ObjectId("5bfb91880ce75b53122ba13f"),
"html_message" : "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"><style type=\"text/css\" style=\"display:none;\"><!-- P {margin-top:0;margin-bottom:0;} --></style></head><body dir=\"ltr\"></body>\r\n\t\t</html>",
"email_from" : "test@outlook.com"
}
Значение "html_message" может быть длиннее, чем приведенный пример
, пока я выполняю поиск по просвету с кодом ниже,
$query->where(function ($query) use ($request) {
$query->where('email_from', 'like', "%$request->message%");
$query->orWhere('html_message', 'like', "%$request->message%");
>message%");
});
это работает очень медленно,
Я дал индексирование на "email_from
", это прекрасно,
Теперь я даю индексацию на "html_message
", это не позволяет мне давать индексацию и выдает ошибку,
Я использую запрос ниже, чтобы дать индексацию по html_message,
db.getCollection("email_message").createIndex({ html_message: "text" });
это дает мне ошибку, как показано ниже,
{
"ok" : 0.0,
"errmsg" : "trying to index text where term list is too big, max is 4mb _id: ObjectId('5bfc5af70ce75b5a2b541296')",
"code" : 16733.0,
"codeName" : "Location16733"
}
Я не понимаю, как ее решить.