过滤查询的多个值作为apache solr中的字符串类型

时间:2014-09-22 06:23:35

标签: apache solr

我将mysql数据索引为apache solr作为属性名,id和位置设置,当我查询它显示如

{
        "locality": "MG Road - Residency Rd",
        "id": "212473",
        "propertyName": [
          "Vivanta by Taj - M G Road"
        ]
      },
      {
        "locality": "Indiranagar - Old Airport Rd",
        "id": "198732",
        "propertyName": [
          "The Leela Palace Bangalore"
        ]
      },
      {
        "locality": "Sankey Road - Palace Road - Race Course",
        "id": "198402",
        "propertyName": [
          "Taj West End"
        ]
      },
      {
        "locality": "Indiranagar - Old Airport Rd",
        "id": "366878",
        "propertyName": [
          "Matthan Hotel"
        ]
      },

这里locality是一个文本类型(String),如果我搜索fq = locality:" Indiranagar - Old Airport Rd",它显示Indiranagar - Old Airport Rd属性,但我想搜索多个地点喜欢 fq = locality:" Indiranagar - Old Airport Rd" AND" Jaya Nagar - JP Nagar",如何在apache solr以及ModifiableSolrParams中执行此操作

2 个答案:

答案 0 :(得分:0)

您可以使用以下命令:请尝试。

q =地点:" Indiranagar - Old Airport Rd" + AND +地点:" Jaya Nagar - JP Nagar"

注意:它会执行精确搜索。

答案 1 :(得分:0)

最后我得到了答案 q =地点:( Indiranagar - 旧机场路Jaya Nagar - JP Nagar) 它显示了所有结果,如Indiranagar,Old,rd,Jaya,Nagar等... 最后我这样做q =地点:( Indiranagar Jaya) 现在它只会搜索两个单词。