All Downloads are FREE. Search and download functionalities are using the official Maven repository.

monad.face.services.RpcFacade.scala Maven / Gradle / Ivy

// Copyright 2013,2015 the original author or authors. All rights reserved.
// site: http://www.ganshane.com
package monad.face.services

import monad.face.model.ShardResult

/**
 * nosql 的调用
 * @author jcai
 */
trait IdFacade {
  def putIfAbsent(id: Array[Byte]): Array[Byte]

  def get(id: Array[Byte]): Option[Array[Byte]]
}

trait RpcSearcherFacade {
  /**
   * search index with index name and keyword
   */
  def collectSearch(resourceName: String, q: String, sort: String, topN: Int): ShardResult

  def facetSearch(resourceName: String, q: String, field: String, upper: Int, lower: Int): ShardResult

  def collectSearch2(resourceName: String, q: String, sort: String, topN: Int): ShardResult

  def maxDoc(resourceName: String): Long

  /**
   * 搜索对象
   * @param resourceName 资源名称
   * @param q 搜索条件
   * @return 搜索比中结果
   */
  //@Rpc(mode="all",merge = "IdSearchMerger",ignoreTimeout = true)
  //def searchObjectId(resourceName:String,q:String):IdShardResult

  /**
   * 查找对象的详细信息
   * @param serverId 服务器的Hash值
   * @param resourceName 资源名称
   * @param key 键值
   * @return 数据值
   */
  def findObject(serverId: Short, resourceName: String, key: Array[Byte]): Option[Array[Byte]]

  /**
   * 通过服务器的ID和资源名称,以及id序列,来查找对象的ID值
   * @param serverId 服务器ID
   * @param idSeq id序列
   * @return id的值
   */
  //def findObjectId(@ServerId serverId:Short,idSeq:Int):Option[Array[Byte]]
  //@Rpc(mode="all",merge = "FindIdSeqMerger",ignoreTimeout = true)
  //def findObjectIdSeq(id:String):Option[IdSeqShardResult]
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy