gpt4 book ai didi

php - 不确定我的映射在 Elasticsearch 中是否有效

转载 作者:行者123 更新时间:2023-11-29 07:42:11 25 4
gpt4 key购买 nike

我正在将 ES 与我的 Laravel 应用程序一起使用 Elasticquent包。

在为数据库建立索引之前,我的映射如下所示:

'ad_title' => [
'type' => 'string',
'analyzer' => 'standard'
],
'ad_type' => [
'type' => 'integer',
'index' => 'not_analyzed'
],
'ad_type' => [
'type' => 'integer',
'index' => 'not_analyzed'
],
'ad_state' => [
'type' => 'integer',
'index' => 'not_analyzed'
],

但是当我执行 API 调用_mapping?之后就很漂亮了

我的映射如下所示:

"testindex": {
"mappings": {
"ad_ad": {
"properties": {
"ad_city": {
"type": "integer"
},
"ad_id": {
"type": "long"
},
"ad_state": {
"type": "integer"
},
"ad_title": {
"type": "string",
"analyzer": "standard"
},
"ad_type": {
"type": "integer"
},

之后我应该能够在映射中看到 'index' => 'not_analyzed' 吗?或者 'index' => 'not_analyzed' 之后不会显示在 map 结构中?

最佳答案

您是对的,映射未得到应用。如果正确应用,您将在映射 API 中看到 not_analyzed。

确保在写入任何数据之前应用映射。我们在应用程序启动时应用映射,以验证映射始终正确并应用任何映射更新。

以下是如何应用映射的示例:

PUT hilden1

PUT hilden1/type1/_mapping
{
"properties": {
"regular": {
"type": "string"
},
"indexSpecified": {
"type": "string",
"index": "not_analyzed"
}
}
}

要验证映射,请使用 GET api

GET hilden1/type1/_mapping

您应该看到字段“regular”仅指定其类型,其中“indexSpecified”被列为 not_analyzed。这是我运行 ES 1.4.4 的机器的输出

{
"hilden1": {
"mappings": {
"type1": {
"properties": {
"indexSpecified": {
"type": "string",
"index": "not_analyzed"
},
"regular": {
"type": "string"
}
}
}
}
}
}

关于php - 不确定我的映射在 Elasticsearch 中是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28745423/

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