gpt4 book ai didi

node.js - Elasticsearch:搜索具有映射not_analyzed的字段不会有任何结果

转载 作者:行者123 更新时间:2023-12-03 01:58:40 27 4
gpt4 key购买 nike

我正在运行elasticsearch并使用nodejs进行所有请求。
我将以下映射应用于索引“mastert4”:

{
"mappings": {
"mastert4": {
"properties": {
"s": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}

我向索引中只添加了一个文档,看起来像这样:
{
"master": {
"vi": "ff155d9696818dde0627e14c79ba5d344c3ef01d",
"s": "Anne Will"
}
}

现在,执行以下任何搜索查询都不会返回任何匹配:
{
"index": "mastert4",
"body": {
"query": {
"filtered": {
"query": {
"match"/"term": {
"s": "anne will"/"Anne Will"
}
}
}
}
}

}

但是以下查询将返回确切的文档:
    {
"index": "mastert4",
"body": {
"query": {
"filtered": {
"query": {
"constant_score": {
"filter": [
{
"missing": {
"field": "s"
}
}
]
}
}
}
}
}
}

如果我搜寻
    {
"exists": {
"field": "s"
}
}

我不会再有任何点击的。

分析自己的 Realm 时,我得到:
{
"tokens": [
{
"token": "Anne Will",
"start_offset": 0,
"end_offset": 9,
"type": "word",
"position": 1
}
]
}

我真的在这里死胡同了。有人可以告诉我我做错了什么吗?谢谢!!!!

最佳答案

您已将字段svi封闭在名为master的外部字段中,该字段未在映射中声明。这就是原因。如果您查询master.s,您将获得结果。

第二种解决方案是删除文档中包含的master对象,这也将起作用:

{
"vi": "ff155d9696818dde0627e14c79ba5d344c3ef01d",
"s": "Anne Will"
}

关于node.js - Elasticsearch:搜索具有映射not_analyzed的字段不会有任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34657549/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com