我尝试从执行示例:
https://github.com/FriendsOfSymfony/FOSElasticaBundle/blob/2.1.x/README.md
$fieldQuery = new \Elastica_Query_Text();
$fieldQuery->setFieldQuery('title', 'I am a title string');
$fieldQuery->setFieldParam('title', 'analyzer', 'my_analyzer');
$boolQuery->addShould($fieldQuery);
组态:
fos_elastica:
clients:
default: { host: localhost, port: 9200 }
indexes:
site:
settings:
index:
analysis:
analyzer:
my_analyzer:
type: snowball
language: English
types:
article:
mappings:
title: { boost: 10, analyzer: my_analyzer }
tags:
categoryIds:
persistence:
driver: orm
model: Acme\DemoBundle\Entity\Article
provider:
finder:
我有相同的配置和数据库表,但出现错误:
SearchPhaseExecutionException[Failed to execute phase [query], all shards failed;
shardFailures {[qtEeqhjbTyWPoPlp9mhwGQ][site][0]: SearchParseException[[site][0]: from[-1],size[-1]:
Parse Failure [Failed to parse source [
{
"query": {
"bool": {
"should": [
{
"text": {
"artText": {
"query": "I am a title string"
}
}
}
]
}
}
}
]]];
nested: QueryParsingException[[site] No query registered for [text]]; }{[qtEeqhjbTyWPoPlp9mhwGQ][site][1]:
SearchParseException[[site][1]: from[-1],size[-1]:
Parse Failure [Failed to parse source [
{
"query": {
"bool": {
"should": [
{
"text": {
"artText": {
"query": "I am a title string"
}
}
}
]
}
}
}
]]];
nested: QueryParsingException[[site] No query registered for [text]]; }{[qtEeqhjbTyWPoPlp9mhwGQ][site][2]:
SearchParseException[[site][2]: from[-1],size[-1]:
Parse Failure [Failed to parse source [
{
"query": {
"bool": {
"should": [
{
"text": {
"artText": {
"query": "I am a title string"
}
}
}
]
}
}
}
]]];
nested: QueryParsingException[[site] No query registered for [text]]; }{[qtEeqhjbTyWPoPlp9mhwGQ][site][3]:
SearchParseException[[site][3]: from[-1],size[-1]:
Parse Failure [Failed to parse source [
{
"query": {
"bool": {
"should": [
{
"text": {
"artText": {
"query": "I am a title string"
}
}
}
]
}
}
}
]]];
nested: QueryParsingException[[site] No query registered for [text]]; }{[qtEeqhjbTyWPoPlp9mhwGQ][site][4]:
SearchParseException[[site][4]: from[-1],size[-1]:
Parse Failure [Failed to parse source [
{
"query": {
"bool": {
"should": [
{
"text": {
"artText": {
"query": "I am a title string"
}
}
}
]
}
}
}
]]];
nested: QueryParsingException[[site] No query registered for [text]]; }]
有什么可以解决这个问题?也许elasticsearch服务器版本?
最佳答案
您是否尝试刷新缓存并(重新)填充索引?
php app/console cache:clear
php app/console f:e:p
然后,只需重新加载查询即可。
yml中也有错字(在分析之前)。