は、どのように私は何の結果を得るていないしかしCakephp3 ElasticSearchCakephp3 ElasticSearchクエリQ
で
http://localhost:9200/index/businesses/_search?q=services
のようなクエリは、私が
$this->Businesses->find('all')->where(['*'=>'services']);
を試してみました作るのですか。
は、どのように私は何の結果を得るていないしかしCakephp3 ElasticSearchCakephp3 ElasticSearchクエリQ
で
http://localhost:9200/index/businesses/_search?q=services
のようなクエリは、私が
$this->Businesses->find('all')->where(['*'=>'services']);
を試してみました作るのですか。
ないあなたが求めているものを確認してください、しかしwhere(['*'=>'services'])
のアスタリスクは、あなたのテーブルスキーマ/データベースの列名でなければなりません。
もう1つのよくある問題は、find()
の結果が設計上のクエリの結果ではないことです。 Cake PHP 3 needs limit option for find all methodに私の答えを参照してもCakePHP 3 Cookbook: ElasticSearch — Searching Indexed Documents:
$query = $this->Articles->find()
->where([
'title' => 'special',
'or' => [
'tags in' => ['cake', 'php'],
'tags not in' => ['c#', 'java']
]
]);
// The query returns multiple rows which you can loop through
// or alternatively you can call $query->all(); to get the object
// $query->toArray(); to get the array
foreach ($query as $article) {
echo $article->title;
}
ElasticSearchは、あなたが列を指定せずに文書を検索することができます。私は列を指定せずに検索したいです。 – MontrealDevOne
より正確な答えは_allキーが問題
$this->Businesses->find('all')->where(['_all'=>'services']);
TLDRを解決する可能性があります
ビルダーを使用することです。どのように私はCakephpESを使用して列を指定せずにESデータソースからドキュメントを検索するには? – MontrealDevOne