如何使用elasticsearch创建通用搜索引擎?

时间:2016-09-23 10:20:55

标签: mongodb elasticsearch search-engine

我们正在为医疗社区创建搜索引擎,它可以从mongoDB中提取记录。数据库有各种医疗界的记录,如医生,实验室医生,病理学家,专家等。我们希望根据名称,地点,设备,距离时间(如果我们有位置)来提取结果。 我们使用Elasticsearch作为搜索引擎。

更新: 我认为没有具体回答。我按照Dennis Ich指出的文件进行了检查。我已根据要求使用完成了搜索索引 autosuggest,filters - ngram,fuzzy ...

我遇到突出显示选项的问题。这是我的代码:

  

块引用

curl -XGET http://localhost:9200/hospital/hospitals/_search?pretty -d '{
  "query" : {
    "fuzzy" : {
        "_all" : "orthopadic"
      }
  },
  "highlight": {
    "fields" : {
        "*" : {
        "pre_tags" : ["<p>"],
        "post_tags" : ["</p>"], 
        "fragment_size" : 18
        }
    }
  }
}'

输出:

  

块引用

{
  "took" : 459,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 64,
    "max_score" : 1.8097699,
    "hits" : [ {
      "_index" : "hospital",
      "_type" : "hospitals",
      "_id" : "105",
      "_score" : 1.8097699,
      "_source" : {
        "reviews" : "283",
        "name" : "Sohandas Udbalker M Vzsuoxhmkvfgijxzzjh",
        "specialization" : "Orthopaedic",
        "recommendation" : "146",
        "seniority" : "24",
        "likes" : "218",
        "online_participation" : "58",
        "online_booking" : "810",
        "tracking_system" : "60",
        "follow_up" : "53",
        "consultation_point" : "52",
        "online_prescription" : "29",
        "patient_count" : "61",
        "health_expense" : "94",
        "location" : "bangalore"
      },
      "highlight" : {
        "_all" : [ "Vzsuoxhmkvfgijxzzjh <p>Orthopaedic</p> 146" ]
      }

我想突出显示特定字段。它是采用片段编号,我们如何突出特定的领域。

1 个答案:

答案 0 :(得分:0)

要创建通用搜索引擎,您必须满足以下要求 1)全文搜索 - 不仅可以返回包含确切关键字的文档。 2)群集 - 跨不同节点分发数据。 3)水平可伸缩性 - 能够通过添加更多节点来增加集群的容量。 4)自动完成