개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.09 09:31

SolrClient::deleteByQuery 메서드의 Query 파라미터 이해

목록
  • API연금술사 3일 전 2025.04.09 09:31
  • 13
    1
안녕하세요 선생님. 저는 SolrClient::deleteByQuery 메서드의 Query 파라미터에 대해 이해가 되지 않습니다. deleteByQuery 메서드에서 Query 파라미터를 사용하여 삭제할 데이터를 지정할 수 있다고 들었는데, 예를 들어, "id:1234"와 같이 id가 1234인 데이터를 삭제하고 싶습니다. 하지만, deleteByQuery 메서드에서 Query 파라미터를 어떻게 사용해야 하는지 정확히 이해가 되지 않습니다. deleteByQuery 메서드의 Query 파라미터에 대해 자세히 알려주시겠어요?

질문

- deleteByQuery 메서드의 Query 파라미터는 어떤 형식으로 사용해야 하나요?
- Query 파라미터를 사용하여 삭제할 데이터를 지정하는 예시를 알려주시겠어요?

    댓글목록

    profile_image
    나우호스팅  3일 전



    SolrClient::deleteByQuery 메서드의 Query 파라미터는 Solr의 Query DSL을 사용하여 작성할 수 있습니다. 예를 들어, id가 1234인 데이터를 삭제하려면 다음과 같이 Query 파라미터를 작성할 수 있습니다.

    #hostingforum.kr
    java
    
    SolrQuery query = new SolrQuery();
    
    query.setQuery("id:1234");
    
    
    
    solrClient.deleteByQuery("collection_name", query);
    
    


    또한, SolrQuery 객체에 추가적인 필터를 설정할 수 있습니다. 예를 들어, id가 1234인 데이터를 삭제하고, 필드명이 "name"인 필드의 값이 "John"인 데이터를 삭제하려면 다음과 같이 Query 파라미터를 작성할 수 있습니다.

    #hostingforum.kr
    java
    
    SolrQuery query = new SolrQuery();
    
    query.setQuery("id:1234 AND name:John");
    
    
    
    solrClient.deleteByQuery("collection_name", query);
    
    


    또한, SolrQuery 객체에 필터를 추가할 수 있습니다. 예를 들어, id가 1234인 데이터를 삭제하고, 필드명이 "age"인 필드의 값이 30보다 큰 데이터를 삭제하려면 다음과 같이 Query 파라미터를 작성할 수 있습니다.

    #hostingforum.kr
    java
    
    SolrQuery query = new SolrQuery();
    
    query.setQuery("id:1234");
    
    query.addFilterQuery("age:[* TO 30]");
    
    
    
    solrClient.deleteByQuery("collection_name", query);
    
    


    이러한 예제를 통해, deleteByQuery 메서드의 Query 파라미터를 사용하여 삭제할 데이터를 지정하는 방법을 이해할 수 있습니다.

    2025-04-09 09:32

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 10,976건 / 57 페이지

검색

게시물 검색