anchor.diff:      :initarg :ranker
       :initform +sph-rank-proximity-bm25+
       :documentation "ranking mode (default is +sph-rank-proximity-bm25+)")
  -   (maxquerytime
  -    :accessor maxquerytime
  -    :initarg :maxquerytime
  +   (max-query-time
  +    :accessor max-query-time
  +    :initarg :max-query-time
       :initform 0
       :documentation "max query time, milliseconds (default is 0, do not limit)")
  -   (fieldweights
  -    :accessor fieldweights
  -    :initarg :fieldweights
  +   (field-weights
  +    :accessor field-weights
  +    :initarg :field-weights
       :initform ()
       :documentation "per-field-name weights")
      (overrides
  
positive.code:   (format t "~s : ~s" host port)
    (assert (stringp host))
    (cond ((string= host "/" :start1 0 :end1 1)
           (setf (sphinx-path client) host)
           (setf (sphinx-host client) ())
           (setf (sphinx-port client) ()))
          ((string= host "unix://" :start1 0 :end1 7)
           (setf (sphinx-path client) (subseq host 6 (length host)))
           (setf (sphinx-host client) ())
           (setf (sphinx-port client) ()))
          (t
           (format t "~s : ~s" host port)
           (assert (numberp port))
           (setf (sphinx-host client) host)
           (setf (sphinx-port client) port)
           (setf (sphinx-path client) ()))))
  
  
  (defmethod %connect ((client sphinx-client))
    (cond ((sphinx-socket client))
          ((sphinx-path client)
           (setf (sphinx-socket client)
                 (sockets:make-socket :address-family :local :type :stream
                              :local-filename (namestring (sphinx-path client)))))
          (t
           (setf (sphinx-socket client)
                 (sockets:make-socket :address-family :internet :type :stream
                                      :remote-host (sphinx-host client)
                                      :remote-port (sphinx-port client)))))
    (let ((v (unpack "N*" (read-from (sphinx-socket client) 4))))
      (if (< v 1)
          (progn
            (close (sphinx-socket client))
            (setf (last-error client) "connection to socket failed"))
          (progn
            (sockets:send-to (sphinx-socket client)
                             (string-to-octets (pack "N" 1) :external-format :utf-8))
            (format t "~a~%" v)
            (sphinx-socket client)))))
  
  (defun read-from (socket size)
    (let ((rec (sockets:receive-from socket :size size)))
  
negative.code:            (octets-to-string
              (coerce rec
                      '(vector (unsigned-byte 8)))
              :encoding :utf-8)))
        (format t "res: ~a~%" res)
        res)))
  
  (defmethod %get-response ((client sphinx-client) &key client-version)
    (multiple-value-bind (status version len) (unpack "n2N" (read-from (%socket client) 8))
      (format t "~a : ~a : ~a~%" status version len)
      (let ((response ())
            (left len))
        (loop
           (when (< left 0)
             (return))
           (let ((chunk (read-from (%socket client) left)))
             (if (> (length chunk) 0)
                 (progn
                   (setf response (concatenate 'vector response chunk))
  