Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从MongoDB到Elasticsearch的多语言文本搜索_Mongodb_Solr_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Mongodb,Solr,elasticsearch" /> elasticsearch,Mongodb,Solr,elasticsearch" />

从MongoDB到Elasticsearch的多语言文本搜索

从MongoDB到Elasticsearch的多语言文本搜索,mongodb,solr,elasticsearch,Mongodb,Solr,elasticsearch,我在MongoDB中有多语言数据,格式如下 "name":{ "en" : "dog", "fr" : "chien" },"description" :{ } 我关心的是文本搜索,即用户应该能够通过文本搜索找到相同的对象,如“dog”或“chien”(或其子字符串)。 我正在研究几种全文搜索引擎,如elasticsearch、solr和sphinxsearch,乍一看,elasticsearch很有希望。上述发动机的结构是否糟糕,其他发动机是否有明显的优势?那么如何在elast

我在MongoDB中有多语言数据,格式如下

"name":{
  "en" :  "dog",
  "fr" : "chien"
},"description" :{ 
} 
我关心的是文本搜索,即用户应该能够通过文本搜索找到相同的对象,如
“dog”
“chien”
(或其子字符串)。
我正在研究几种全文搜索引擎,如elasticsearch、solr和sphinxsearch,乍一看,elasticsearch很有希望。上述发动机的结构是否糟糕,其他发动机是否有明显的优势?那么如何在elasticsearch中实现这样的搜索呢?

Solr和elasticsearch都是在ApacheLucene之上构建的,它们都将提供您想要的功能。 我没有使用弹性搜索,因此根据我使用Solr的经验给出了一个概述,但我相信同样的内容也可以无缝地过渡到弹性搜索

  • 您需要将mongodb数据导入并索引到Solr中。通过运行Solr并使用其restapi,这是很容易做到的。 您还可以使用10gen mongo连接器:它将您的mongodb记录导入Solr。 将mongodb数据导入Solr还有许多其他方法,包括用您选择的语言编写自己的脚本

  • 您需要为导入的数据定义模式定义。对于您的搜索案例,您将主要使用Solr工厂(过滤器/标记器等)应用于文本数据的“文本”

  • 3.如何定义模式取决于用户流,您将选择。你的网站将是语言中立的,搜索“fem”将显示所有以“fem”开头的语言的所有结果。
    或者让用户先选择语言。e、 g.“French”,然后只在“fr”字段中搜索术语,我认为这将是一个更干净的解决方案。

    Solr和ElasticSearch都是在Apache Lucene之上构建的,都将提供您想要的功能。 我没有使用弹性搜索,因此根据我使用Solr的经验给出了一个概述,但我相信同样的内容也可以无缝地过渡到弹性搜索

  • 您需要将mongodb数据导入并索引到Solr中。通过运行Solr并使用其restapi,这是很容易做到的。 您还可以使用10gen mongo连接器:它将您的mongodb记录导入Solr。 将mongodb数据导入Solr还有许多其他方法,包括用您选择的语言编写自己的脚本

  • 您需要为导入的数据定义模式定义。对于您的搜索案例,您将主要使用Solr工厂(过滤器/标记器等)应用于文本数据的“文本”

  • 3.如何定义模式取决于用户流,您将选择。你的网站将是语言中立的,搜索“fem”将显示所有以“fem”开头的语言的所有结果。
    或者让用户先选择语言。e、 g“French”,然后只在“fr”字段中搜索术语,我认为这是一个更干净的解决方案。

    您似乎没有奇怪的要求,可能没有足够的信息来判断。我建议你玩一玩,根据自己的喜好判断自己。你似乎没有奇怪的要求,可能没有足够的信息来判断。我建议你玩一玩,看看你喜欢什么。