我正在尝试使用elasticsearch来允许我使用php client library搜索部分字符串。
我有一个像这样的剧本
// create an index
$params = array();
$params['body'] = array('testField' => 'abc');
$params['index'] = 'my_index';
$params['type'] = 'my_type';
$params['id'] = 'my_id';
$ret = $client->index($params);
// search for that index
$searchParams['index'] = 'my_index';
$searchParams['type'] = 'my_type';
$searchParams['body']['query']['match']['testField'] = 'abc';
$queryResponse = $client->search($searchParams); // contains the indexed `abc` testField
这很有效,我能够找到刚刚创建的东西。
但是,当我更换
时 $searchParams['body']['query']['match']['testField'] = 'abc';
带
$searchParams['body']['query']['match']['testField'] = 'a';
或
$searchParams['body']['query']['match']['testField'] = 'a*';
搜索返回零结果。
我是否需要设置一些配置以允许部分字符串搜索?