Наличие числа в строке текстового поиска останавливает его поиск - PullRequest
0 голосов
/ 29 апреля 2019

Монгольский текстовый поиск не работает для текста с присоединенным номером.

т.е.

БД:

{"fieldA": "value"},
{"fieldA": "value1"},

Поиск:

{"fieldA": "value"}

возвращает 1 объект

{"fieldA": "value"}

, но не

{"fieldA": "value1"}

Я что-то здесь упускаю?

1 Ответ

0 голосов
/ 29 апреля 2019

Вы ничего не упускаете, просто кажется, что монго не выводит числа из строки.

Изящный маленький трюк, чтобы увидеть, как слова из монго основаны на этом:

db.collection.find({$text: {$search: 'sleeping1'}}).explain();

в результатах в соответствии с выигрышным планом мы можем просмотреть JSON parsedTextQuery:

{
      "terms": [
        "sleeping1"
      ],
      "negatedTerms": [],
      "phrases": [],
      "negatedPhrases": []
    }

сейчас, если мы выполним тот же запрос, но вместо этого с помощью "sleep":

{
  "terms": [
    "sleep"
  ],
  "negatedTerms": [],
  "phrases": [],
  "negatedPhrases": []
}

mongo непока нет, когда дело доходит до индексации текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...