Skip to content

Commit

Permalink
fixing solr query bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
Dan Simon committed Jul 17, 2012
1 parent 5bdae58 commit db9fa05
Showing 1 changed file with 13 additions and 5 deletions.
18 changes: 13 additions & 5 deletions collins/app/util/Solr.scala
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import models.{Asset, AssetFinder, AssetMeta, AssetMetaValue, AssetView, MetaWra

import org.apache.solr.client.solrj._
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer
import org.apache.solr.common.SolrInputDocument
import org.apache.solr.common.{SolrDocument, SolrInputDocument}
import org.apache.solr.core.CoreContainer
import org.apache.solr.client.solrj.impl.{CommonsHttpSolrServer, XMLResponseParser}

Expand Down Expand Up @@ -434,14 +434,22 @@ class CollinsQueryParser extends JavaTokenParsers {
*/
case class CollinsSearchQuery(query: SolrExpression, page: PageParams) {

def getResults(): Either[String, (Seq[AssetView], Int)] = Solr.server.map{server =>
def getResults(): Either[String, (Seq[AssetView], Long)] = Solr.server.map{server =>
val q = new SolrQuery
q.setQuery(query.toSolrQueryString)
val s = query.toSolrQueryString
Logger.logger.debug("SOLR: " + s)
q.setQuery(s)
q.setStart(page.offset)
q.setRows(page.size)
val response = server.query(q)
Right((response.getResults.toArray.toSeq.map{case doc: SolrInputDocument => Asset.findByTag(doc.getFieldValue("tag").toString)}.flatten, 0))

val results = response.getResults
Right((results.toArray.toSeq.map{
case doc: SolrDocument => Asset.findByTag(doc.getFieldValue("tag").toString)
case other => {
Logger.logger.warn("Got something weird back from Solr %s".format(other.toString))
None
}
}.flatten, results.getNumFound))
}.getOrElse(Left("Solr Plugin not initialized!"))


Expand Down

0 comments on commit db9fa05

Please sign in to comment.