Я хочу искать в двух полях.Одно поле передается PHP, а другое вводится пользователем в поле ввода.
Может ли кто-нибудь помочь мне здесь?
мой код:
$params = [
'index' => 'search_documentation',
'type' => 'document',
'body' => [
'size' => 10,
'query' => [
'multi_match' => [
'match' => [
'file.name' => $searchTerm,
'relation.machine' => $machineNumber,
],
],
],
],
];
К сожалению, он не работает - он всегда возвращает 0 результатов
, поэтому поиск исправлен, но теперь у меня проблема с поиском правильно.file.name вызывает «Anleitung_100_eng.Bedienung.pdf» - если я ищу «Anleitung» или «Bedienung» по «ключевому слову», они ничего не находят… но когда я ищу, например, только «t», они обнаруживают, что ... этопроблема по моему запросу или из индексации?
$params = [
'index' => 'search_' . $machineNumber . '_documentation',
'type' => 'document',
'size' => 500,
'body' => [
'query' => [
'prefix' => [
'file.name' => $searchTerm,
],
],
],
];
есть идеи?
Отображение индекса:
$params = [
'index' => $this->getIndex(),
'body' => [
'mappings' => [
'document' => [
'_source' => [
'excludes' => [
'file_base64'
]
],
'_all' => [
'enabled' => false
],
'properties' => [
'file' => [
'properties' => [
'name' => [
'type' => 'text',
'fields' => [
'keyword' => [
'type' => 'keyword',
'ignore_above' => 256
]
]
],
'extension' => [
'type' => 'keyword'
],
'created' => [
'type' => 'date',
'format' => 'yyy-MM-dd HH:mm:ss'
],
'last_modified' => [
'type' => 'date',
'format' => 'yyy-MM-dd HH:mm:ss'
],
'last_accessed' => [
'type' => 'date',
'format' => 'yyy-MM-dd HH:mm:ss'
],
'path_folder' => [
'type' => 'keyword'
],
'path_file' => [
'type' => 'keyword'
],
'link_file' => [
'type' => 'keyword'
]
]
],
'article' => [
'properties' => [
'number' => [
'type' => 'keyword'
]
]
]
]
],
'meta' => [
'_all' => [
'enabled' => false
],
'properties' => [
'last_modified' => [
'type' => 'date',
'format' => 'yyy-MM-dd HH:mm:ss'
]
]
]
],
'settings' => [
'number_of_shards' => 1,
'number_of_replicas' => 0
]
]
];
ES:
> "mappings": {
> "meta": {
> "_all": {
> "enabled": false
> },
> "properties": {
> "last_modified": {
> "type": "date",
> "format": "yyy-MM-dd HH:mm:ss"
> },
> "update_date": {
> "type": "text",
> "fields": {
> "keyword": {
> "type": "keyword",
> "ignore_above": 256
> }
> }
> }
> }
> },
> "document": {
> "_all": {
> "enabled": false
> },
> "_source": {
> "excludes": [
> "file.content_base64"
> ]
> },
> "properties": {
> "article": {
> "properties": {
> "number": {
> "type": "keyword"
> }
> }
> },
> "file": {
> "properties": {
> "content_base64": {
> "type": "text"
> },
> "create_date": {
> "type": "text",
> "fields": {
> "keyword": {
> "type": "keyword",
> "ignore_above": 256
> }
> }
> },
> "created": {
> "type": "date",
> "format": "yyy-MM-dd HH:mm:ss"
> },
> "extension": {
> "type": "keyword"
> },
> "last_accessed": {
> "type": "date",
> "format": "yyy-MM-dd HH:mm:ss"
> },
> "last_modified": {
> "type": "date",
> "format": "yyy-MM-dd HH:mm:ss"
> },
> "link_file": {
> "type": "keyword"
> },
> "link_folder": {
> "type": "text",
> "fields": {
> "keyword": {
> "type": "keyword",
> "ignore_above": 256
> }
> }
> },
> "name": {
> "type": "text",
> "fields": {
> "decompound": {
> "type": "text",
> "analyzer": "my_decompound"
> },
> "keyword": {
> "type": "keyword",
> "ignore_above": 256
> },
> "simple": {
> "type": "text",
> "analyzer": "simple"
> }
> }
> },
> "path_file": {
> "type": "keyword"
> },
> "path_folder": {
> "type": "keyword"
> },
> "path_folder_short": {
> "type": "keyword"
> },
> "permissions": {
> "type": "long"
> },
> "size": {
> "type": "long"
> },
> "version": {
> "type": "text",
> "fields": {
> "keyword": {
> "type": "keyword",
> "ignore_above": 256
> }
> }
> }
> }
> },
> "relation": {
> "properties": {
> "machine": {
> "type": "text",
> "fields": {
> "keyword": {
> "type": "keyword",
> "ignore_above": 256
> }
> }
> },
> "plant": {
> "type": "text",
> "fields": {
> "keyword": {
> "type": "keyword",
> "ignore_above": 256
> }
> }
> },
> "type": {
> "type": "text",
> "fields": {
> "keyword": {
> "type": "keyword",
> "ignore_above": 256
> }
> }
> }
> }
> }
> }
> }
> }