찾다

 >  Q&A  >  본문

다음과 같이 재번역됨: "PHP 구문 ElasticSearch"

<p>저는 ElasticSearch의 새로운 작업을 수행하는 데 불편을 겪고 있습니다... 내 사랑은 옳습니다</p> <pre class="brush:php;toolbar:false;">{ "_index" : "indexing001", "_type" : "_doc", "_id" : "3", "_버전" : 1, "_seq_no" : 242, "_primary_term" : 2, "발견" : 진실, "_출처" : { "유형" : 1, "하위_유형" : 없는, "사용자" : { "아이디" : 1, "이름" : "tk6z2 gcnouvqmr" }, "editor_user" : [ ], "콘텐츠" : [ { "제목" : "제목 #3", "짧은_텍스트" : "제3조 짧은 텍스트", "전체_텍스트" : "제3조 전문", "로케일" : "드-DE" } ], "플래그" : [ ], "위치" : [ ], "시작_날짜" : 1658793600, "종료일" : 1658793600, "_사용자" : [ ] } }</pre> <p>我想查询文本以匹配字段<code>content.title</code>및<code>content.short_text</code>,통통한<code>_users</code>字段查询用户。例如,나의 函数是:</p> <pre class="brush:php;toolbar:false;">공개 정적 함수 검색( 문자열 $text = '', int $사용자 = 0 ): 배열 { 노력하다 { $model = 새로운 someModelClass(); $필드 = [ '콘텐츠.제목', 'content.short_text', ]; $result = $model::find()->query( [ '부울' => [ '해야 한다' => [ '다중_일치' => [ '쿼리' => $텍스트, '필드' => $ 필드, ], ], '필터' => [ [ '용어' => [ '_users.id' => $사용자 ] ], [ '용어' => [ '_users' => [] ] ], ] ], ] )->all(); $결과를 반환합니다. } 잡기 ( 예외 $e ) { 새로운 예외 발생( $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粉176203781P粉176203781443일 전534

모든 응답(1)나는 대답할 것이다

  • P粉421119778

    P粉4211197782023-08-29 00:46:01

    이 경우에는 Elasticsearch-PHP클라이언트를 사용하는 것이 좋습니다.

    작곡기를 사용하여 적절한 클라이언트를 설치 하세요.

    다음 일치 쿼리의 경우

    으아악

    아래와 같이 PHP 스크립트에서 쿼리할 수 있습니다

    으아악

    더 많은 작업을 여기에서 확인하세요.

    회신하다
    0
  • 취소회신하다