Java 在solr查询中不少于运算符
我使用solr4.7和CoreContainer来创建core和EmbeddedSolrServer来连接和修改SolrParams来获取数据 我已经使用Java 在solr查询中不少于运算符,java,mysql,solr,solrj,Java,Mysql,Solr,Solrj,我使用solr4.7和CoreContainer来创建core和EmbeddedSolrServer来连接和修改SolrParams来获取数据 我已经使用requestHelper的“import”配置了“solrconfig.xml”,以导入数据和其他配置文件,如下面所示 <dataConfig> <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://local
requestHelper
的“import”配置了“solrconfig.xml”,以导入数据和其他配置文件,如下面所示
<dataConfig>
<dataSource driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/koupon"
user="root"
password="root" />
<document>
<entity name="koupon"
query="SELECT k.kouponid as kid, k.name, k.image,k.description,k.discount as discount,
k.startdate,k.enddate,k.actualamount,
k.discountamount,k.discountamount, c.name as category
FROM koupon.koupon k
INNER JOIN koupon.category c on c.categoryid = k.categoryid
where
在此代码中,使用“k.startDate=NOW()”
在记录之间提取,但solr
查询不提供此选项
我有一个从开始到结束的解决方案,但这不是确切的解决方案
我对这个问题很累,你知道吗?如何解决这个问题 您可以尝试使用此mysql查询进行索引:
WHERE (NOW() BETWEEN k.startDate and k.endDate)
而不是:
k.startDate <= NOW() and endDate >= NOW()
要工作,请确保startdate字段符合Solr dateField类型。有关这方面的更多信息,请检查链接是否收到错误或没有结果?当我使用“k.startDate=NOW()”时,错误(如与元素类型“entity”关联的属性“query”的值)不能包含“WHERE(现在()在k.startDate和k.endDate之间)”这段代码对我有效。但这里需要括号。
k.startDate <= NOW() and endDate >= NOW()
startdate:[* to NOW]