SOLR命令由field_in_set跟mysql一样

时间:2016-05-09 06:41:21

标签: mysql solr

我从Solr得到以下结果。

{
  "responseHeader": {
    "status": 0,
    "QTime": 1,
    "params": {
      "sort": "ID DESC",
      "indent": "true",
      "q": "*",
      "_": "1462775459580",
      "wt": "json"
    }
  },
  "response": {
    "numFound": 10,
    "start": 0,
    "docs": [
      {
        "Name": "Info",
        "AddedOn": "2016-04-19 00:46:10.0",
        "BusinessName": "InfoSeffcon",
        "ID": "389",
        "LatLongCombined": "37.5641425,-122.00417900000002",
        "_version_": 1533659952448536600
      },
      {
        "Name": "QA 1 SP",
        "AddedOn": "2016-03-20 22:02:16.0",
        "ID": "344",
        "LatLongCombined": "40.71364869999999,-74.00871259999997",
        "_version_": 1533659952447488000
      }

}

如何通过field_in_set将订单应用于SOLR查询。

基本上我想通过ID字段获得结果。

例如。如果我指定ID:344,那么带有344的记录应首先出现,然后是其他记录。

我应该得到以下结果:

{
  "responseHeader": {
    "status": 0,
    "QTime": 1,
    "params": {
      "sort": "ID DESC",
      "indent": "true",
      "q": "*",
      "_": "1462775459580",
      "wt": "json"
    }
  },
  "response": {
    "numFound": 10,
    "start": 0,
    "docs": [
    {
        "Name": "QA 1 SP",
        "AddedOn": "2016-03-20 22:02:16.0",
        "ID": "344",
        "LatLongCombined": "40.71364869999999,-74.00871259999997",
        "_version_": 1533659952447488000
      },
      {
        "Name": "Info",
        "AddedOn": "2016-04-19 00:46:10.0",
        "BusinessName": "InfoSeffcon",
        "ID": "389",
        "LatLongCombined": "37.5641425,-122.00417900000002",
        "_version_": 1533659952448536600
      }
}

如何使用SOLR实现此目的。我是SOLR的新手,任何人都可以帮忙!

1 个答案:

答案 0 :(得分:0)

您可以使用该字段进行排序。

id asc:按“id”字段的升序排序

id desc:按“id”字段的降序排序

Solr Docs:可以在文档的"score"上进行排序,也可以在任何multiValued="false" indexed="true"字段上进行排序,前提是该字段是非标记化的(即:没有Analyzer })或使用仅生成单个术语的分析器(即:使用KeywordTokenizer