Couchbase точное значение соответствия - PullRequest
0 голосов
/ 02 октября 2018

Я использую Couchbase 5 и Go Lang 1.11 , пытаясь запросить результаты на основе точного значения.

Приведенный ниже код находит строки со статусом«Доступен» и «Недоступен».Как сделать так, чтобы он возвращал только «Доступные» строки?

qp.And(cbft.NewConjunctionQuery( cbft.NewMatchQuery("Available").Field("status") ))

1 Ответ

0 голосов
/ 03 октября 2018

Это будет зависеть от того, как вы анализируете поле ввода, это поможет узнать, какой анализатор вы используете, но пока я приму стандартный, "стандартный" анализатор.

Неиспользуйте анализатор по умолчанию для этого случая.Как спросил Мэтт в своем комментарии, вы пытаетесь выполнить прямое сопоставление точного текста во фразе, что немного отличается от большинства пользователей текстового поиска.Таким образом, вы на самом деле не хотите, чтобы текст разбивался на более мелкие фрагменты.

Создайте собственный анализатор с графическим интерфейсом поиска Couchbase, который использует «одиночный» токенизатор , чтобы весь текстполе будет храниться вместе.Или вы можете просто использовать анализатор ключевых слов , который, вероятно, достаточно близок для вас.Установите это как свой анализатор по умолчанию, и ваш запрос должен работать как ожидалось.

Если вы ищете другой подход, тогда запрос term или term фраз может быть больше, чем вы ищете, новам все равно придется осознавать, как работают анализаторы.

Set default analyzer for Couchbase full-text search analyzer to use

...