查询与主实体无关的特定多值字段

时间:2016-08-04 07:49:20

标签: solr

所以我的数据库中有两个表。

  1. user(user_id pk,user_name,....)。
  2. education(id pk,user_id,college_name)。
  3. 以下是solr存储的索引数据。

    docs": [
          {
            "name": "Deepesh",
            "id": "1",
            "college_name": [
              "Jamnakhal",
              "Messmore",
              "IMS"
            ],
            "_version_": 1541716111356067800
          },
          {
            "name": "Uniyal",
            "id": "2",
            "college_name": [
              "J. I. C.",
              "ABC",
              "BCD"
            ],
            "_version_": 1541716111356067800
          },
    

    完整的数据搜索还可以,但是现在我还有1个针对college_name的自动填充搜索框的要求,所以我使用 EdgeNGramFilterFactory college_name 列的solr以及multiValue是真的。

    但是现在当我尝试搜索 J 时,它会返回与用户对应的所有大学名称的数组。

    这是正确的,我在solr中存储了数据。 但是如何解决自动填充的第二个问题,如果我搜索大学名称 J 那么它应该只返回我的大学名称。

    docs“:[       {         “college_name”:“Jamnakhal”         “ version ”:1541716111356067800       },       {         “college_name”:“J。I. C.”         “ version ”:1541716111356067801       },

1 个答案:

答案 0 :(得分:0)

Solr返回匹配文档,在上面的情况下,如果collage_name与Jamnakhal匹配,那么这将返回文档1或spacefic字段,而不仅仅是Jamnakhal。