作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用https://github.com/basemkhirat/elasticsearch软件包。
在 es.php 文件中,我在以下具有索引
'indices' => [
'media' => [
'settings' => [
'number_of_shards' => 2,
'number_of_replicas' => 2,
'analysis' => [
'filter' => [
'custom_english_stemmer' => [
'type' => "stemmer",
'name' => "english"
],
"english_stop" => [
'type' => "stop",
'stopwords' => "_english_"
]
],
"analyzer" => [
'custom_lowercase_analyzer' => [
// 'type' => 'custom',
'tokenizer' => 'standard',
'filter' => [
'lowercase',
'english_stop',
"custom_english_stemmer"
]
]
]
]
],
'mappings' => [
'properties' => [
'id' => [
'type' => 'long',
'index' => false,
'doc_values' => false,
],
'title' => [
'type' => 'text',
"analyzer" => 'custom_lowercase_analyzer'
]
]
]
]
]
php artisan es:indices:create
时,会创 build 置,但映射失败并显示一条错误消息。
{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "Types cannot be provided in put mapping requests, unless the include_type_name parameter is set to true."
}
],
"type": "illegal_argument_exception",
"reason": "Types cannot be provided in put mapping requests, unless the include_type_name parameter is set to true."
},
"status": 400
}
最佳答案
您要在创建索引代码中提供类型,请从索引中删除media
类型,因为不建议使用类型,有关更多信息,请参见the removal of types。
请注意,在Elasticsearch 7.X中,您仍然可以通过设置types
参数来采取一些解决方法以自定义include_type_name
,但由于在即将发布的Elasticsearch 8.X中types
将被完全删除,因此它不是首选。
为了在您的情况下使用带有自定义type
的索引(例如media
(默认为屏幕截图中提到的_doc
))创建索引,您需要将include_type_name=true
传递给this official ES blog中提到的索引创建,模板和映射API
关于php - 不能在放置映射请求中提供类型,除非include_type_name参数在具有 Elasticsearch 的流明中设置为true 7.6.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61485970/
我正在使用 https://github.com/babenkoivan/scout-elasticsearch-driver使用 Laravel Scout 实现 Elasticsearch。 Iv
我们在 azure 虚拟机上安装了 liferay。 今天我们提供了 azure elasticsearch 托管服务。 我们已在 liferay VM 中配置了带有身份验证的 azure elast
我是一名优秀的程序员,十分优秀!