go - Couchbase 精确值匹配

标签 go couchbase

我正在使用 Couchbase 5Go Lang 1.11,尝试根据精确值查询结果。

下面的代码查找状态为“可用”和“不可用”的行。我怎样才能让它只返回“可用”行?

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

最佳答案

这将取决于您如何分析输入字段,了解您使用的分析器会有所帮助,但我现在假设默认的“标准”分析器。

在这种情况下不要使用默认分析器。正如马特在他的评论中所问的那样,您正在尝试对短语中的精确文本进行直接匹配,这与大多数文本搜索用户略有不同。所以你真的不希望文本被标记为更小的部分。

使用“单一”tokenizer 的 Couchbase 搜索 GUI 创建自定义分析器这样字段中的所有文本将保持在一起。或者您可以使用“关键字”分析器,它可能对您来说足够接近。将其设置为您的默认分析器,您的查询应该会按预期工作。

如果您正在寻找另一种方法,那么 term or term phrase query可能更多的是你所追求的,但你仍然必须意识到分析器是如何工作的。

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

关于go - Couchbase 精确值匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52610544/

相关文章:

去安装: “Can' t load package” (even though GOPATH is set)

java - 如何以JSON格式在couchbase lite android中插入数据

Java:如何从 couchbase 服务器的特定存储桶中检索所有文档?

nosql - Couchbase startkey 作为文字值

struct - 如何从函数访问结构的实例字段?

go - 如何使用带有密码的 SSH key 身份验证 `go get` 私有(private)仓库

go - 使用uTls时如何解决www.fedex.com上的TLS错误?

mongodb - 在golang中无法通过ObjectId获取mongodb记录

Couchbase 更新多组

sqlite - 如何从Sqlite迁移到Couchbase?