Elastica と Elastic Search (より具体的には、Symfony2 の FOSElasticaBundle) を使用してオートコンプリート検索を作成しようとしています。
簡単なインデックスを作成し、オブジェクトを設定しました。
基本的な検索は次のように機能します。
$finder = $this->container->get('fos_elastica.finder.search.person');
$results = $finder->find('Mike');
ただし、プレフィックスクエリを機能させるのに問題があり、オンラインで例が見つかりません。これが私が試していることです:
$finder = $this->container->get('fos_elastica.finder.search.person');
$prefixQuery = new \Elastica\Query\Prefix();
$prefixQuery->setPrefix('nameFirst','Mik');
$results = $finder->find($prefixQuery);
エラーは発生しませんが、結果が返されません。
フィールドは適切に設定する必要があります...私の設定は次のようになります:
...
types:
person:
mappings:
nameFirst: { boost: 10 }
nameLast: { boost: 10 }
nameMiddle: { boost: 3 }
...
誰が私が間違っているのか教えてもらえますか?
また: おまけの質問: nameFirst フィールドと nameLast フィールドの両方でプレフィックスを検索する最善の方法は、NestedQuery を使用することですか、それとも addParam() を使用して nameFirst と nameLast の両方を追加することですか?
本当にありがとう-