「PHP 構文 ElasticSearch」として再翻訳
P粉176203781
P粉176203781 2023-08-28 15:43:18
0
1
525
<p>私は ElasticSearch の新しい手、对蟥询の動作原理はまだわかっていません... 私のインデックスの例</p> <pre class="brush:php;toolbar:false;">{ 「_インデックス」 : "インデックス001"、 「_タイプ」 : "_doc"、 「_id」 : "3"、 「_バージョン」 :1、 「_seq_no」 :242、 「_primary_term」 :2、 「見つかった」 : 真実、 「_ソース」 : { 「タイプ」 :1、 「サブタイプ」 : ヌル、 「ユーザー」 : { 「ID」 :1、 「名前」 : "tk6z2 gcnouvqmr" }、 「エディターユーザー」 : [ ]、 「コンテンツ」 : [ { 「タイトル」 : 「タイトル #3」、 「ショートテキスト」 : "記事 #3 短いテキスト"、 「全文」 : "記事 #3 全文"、 「ロケール」 :「脱DE」 } ]、 「フラグ」 : [ ]、 「場所」 : [ ]、 「開始日」 : 1658793600、 「終了日」 : 1658793600、 「_users」 : [ ] } }</pre> <p>私たちは、<code>content.title</code>と<code>content.short_text</code>を一致させて、<code>_users</code>フィールド監査ユーザーを介してテキストをテストすることを考えています。例,我的関数数是:</p> <pre class="brush:php;toolbar:false;">パブリック静的関数検索( 文字列 $text = '', int $user = 0 ): 配列 { 試す { $model = 新しい someModelClass(); $フィールド = [ 'コンテンツ.タイトル', 'content.short_text', ]; $result = $model::find()->query( [ 'ブール' => [ 'べき' => [ 'multi_match' => [ 'クエリ' => $テキスト、 'フィールド' => $フィールド、 ]、 ]、 'フィルター' => [ [ '用語' => [ '_users.id' => $ユーザー ] ]、 [ '用語' => [ '_users' => [] ] ]、 】 ]、 ] )->all(); $result を返します。 } catch (例外 $e ) { throw new Exception( $e->getMessage() ); } }</pre> <p>これを SQL に変更します:<code>SELECT * FROM 'indexing001' WHERE (content.title LIKE %search% OR content.short_text LIKE %search%) AND (users.id = 1 OR)ユーザー = '')</code> どのようにElasticSearch查询中编写它にありますか? </p> 前感谢!
P粉176203781
P粉176203781

全員に返信(1)
P粉421119778

この場合、Elasticsearch-PHP クライアントを使用することをお勧めします。

適切なクライアントを インストールするには、composer を使用してください。

次の一致クエリの場合

リーリー

以下に示すように、PHP スクリプトでクエリを実行できます

リーリー

その他のアクションについては、こちらをご覧ください

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!