单域上的Solr schemantic搜索

单域上的Solr schemantic搜索,solr,semantics,Solr,Semantics,我在房地产网站上工作,我们在一张桌子上存储房产的地理坐标,在另一张桌子上存储房产属性,如卧室、浴室等 现在,我必须实现一个基于文本的属性搜索,用户可以在其中输入自由文本,例如gurgaon 30区的3居室公寓 好的,下面是我的方法,我尝试使用solr来解析用户输入的文本,并从中获得完整的关键字,这样我就可以查询我的数据库来获得结果。 到目前为止,我已经在schema.xml中创建了一些字段 现在我想让solr为我做的是,当用户输入一个文本,比如30区的2卧室。solr应该搜索文本字段中的单词,按

我在房地产网站上工作,我们在一张桌子上存储房产的地理坐标,在另一张桌子上存储房产属性,如卧室、浴室等

现在,我必须实现一个基于文本的属性搜索,用户可以在其中输入自由文本,例如gurgaon 30区的3居室公寓

好的,下面是我的方法,我尝试使用solr来解析用户输入的文本,并从中获得完整的关键字,这样我就可以查询我的数据库来获得结果。 到目前为止,我已经在schema.xml中创建了一些字段

现在我想让solr为我做的是,当用户输入一个文本,比如30区的2卧室。solr应该搜索文本字段中的单词,按类型分组,并从每组中选择最相关的结果。这样我就可以得到这样的结果

{
        "id": "9",
        "text": "bedroom",
        "type": "bedroom",
        "_version_": 1466432362205151200
      },
 {
        "id": "3",
        "text": "sector 30",
        "type": "location",
        "_version_": 1466432234501177300
      }
现在,我可以轻松地对数据库进行查询并获得结果


您能告诉我如何从solr实现这种行为,以及这是否可行吗?

我将如何做到这一点,对于卧室和类似选项,而不是文本字段,我将设置一个复选框,对于位置,设置一个单独的文本框,这样您就不需要对搜索字符串和图形进行分割并提取实体。看来你在找我。你可能需要一个分面搜索和几个文本字段。谢谢你的回复,如果我答对了,我必须为每个属性创建一个字段,我可以采用这种方法,但我想实现一个语义搜索。你说的语义搜索是什么意思,它是一个加载的单词!从我对你问题的理解来看,如果我们从更高的层面来看。您有一堆属性,这些属性具有一些特征,如卧室或属性类型、城镇住宅或公寓等。对于这些特征,通常是固定的或在特定范围内,您可以设计应用程序,以便执行分面搜索。例如,如果用户选中“三居室”复选框,则solr将过滤掉所有非三居室属性的内容。对于其他特征,如位置,您可以有一个文本框,并将其作为查询的一部分发送给solr。您甚至在数据中索引了位置字段,因此当用户开始键入solr时,solr甚至可以根据索引字段向用户提供建议。我知道如果我向用户提供下拉列表或复选框,我可以这样做。但在我的例子中,它只是一个文本字段,用户可以在其中写自由文本,例如:古尔冈30区的3居室公寓请正确阅读我的问题,我已经提到了我的场景。
{
        "id": "4",
        "text": "park centra",
        "type": "location",
        "_version_": 1466432256308412400
      },
      {
        "id": "5",
        "text": "park avenue",
        "type": "location",
        "_version_": 1466432273214603300
      },
      {
        "id": "7",
        "text": "swimming pool",
        "type": "amenity",
        "_version_": 1466432327754186800
      },
      {
        "id": "3",
        "text": "sector 30",
        "type": "location",
        "_version_": 1466432234501177300
      },
      {
        "id": "6",
        "text": "City park",
        "type": "location",
        "_version_": 1466432303613870000
      },
      {
        "id": "2",
        "text": "Gurgaon",
        "type": "location",
        "_version_": 1466432219763441700
      },
      {
        "id": "9",
        "text": "bedroom",
        "type": "bedroom",
        "_version_": 1466432362205151200
      },
      {
        "id": "10",
        "text": "bhk",
        "type": "bedroom",
        "_version_": 1466432369752801300
      },
      {
        "id": "8",
        "text": "ATM",
        "type": "amenity",
        "_version_": 1466432341620555800
      }
{
        "id": "9",
        "text": "bedroom",
        "type": "bedroom",
        "_version_": 1466432362205151200
      },
 {
        "id": "3",
        "text": "sector 30",
        "type": "location",
        "_version_": 1466432234501177300
      }