gpt4 book ai didi

mongodb - Elasticsearch River(mongodb),建模架构

转载 作者:行者123 更新时间:2023-12-02 23:39:58 33 4
gpt4 key购买 nike

介绍
我目前正在为一家公司从事项目,到目前为止,一切都很好。我们正在生产中。我们已经看到我们的质量检查人员最近发现了ElasticSearch的一些奇怪行为。我们正在将ElasticSearch与MongoDB一起使用。 ElasticSearch是通过River填充的,特别是MongoDB River Plugin For Elastic Search
背景
通过我们的服务,我们汇总,筛选和整理了超过200万个职位。为了快速有效地搜索这些数据,我们使用了 flex 搜索,其中MongoDB是我们的主要数据存储。主要搜索功能之一是按地区,州和城市搜索。我们使用州缩写(ex。 Madison, WI。使用此功能,我们可以搜索整个地区(例如midwest)并得出中西部所有地区的结果,我们可以为各州做同样的事情,并为该州的城市得出所有结果。
问题
我们遇到了一个奇怪的问题,那就是俄勒冈州的搜索量没有任何点击,或者这些点击不包括俄勒冈州内的城市,而只是全州范围内的工作(并非特定于任何城市)。
原因
最主要的原因似乎是Apache Lucene将OR保留为or操作,这也是Oregon的缩写。我认为这就是问题所在,因为这种奇怪的行为仅在俄勒冈州的搜索中显示。
解决方案?
我有针对性的解决方案是将“状态”字段更改为not_analyzed以防止这种情况的发生,并且还更改了我的搜索查询。
为什么我无法使它正常工作
MongoDB River相对来说是交 key 的,我可以将它指向数据库,甚至将其优化为一个集合。它将形成自己的到我的收藏的映射,问题是没有文档或提及如何为存储在MongoDB中并使用River索引到ES的数据定义自己的映射。
结论
有人知道在预定义映射中更改字段的方法吗?否则,有人知道我如何为MongoDB River定义自己的映射吗?文档或示例会很棒。这是一个令人困惑的问题,因此,如果您需要更多详细信息,请随时提出。

最佳答案

我相信您需要先创建索引并定义映射,然后再创建河流。您可能会发现前面的讨论很有帮助:

mapping in create index in elasticsearch through mongodb river is not taking effect

与此一起:

http://elasticsearch-users.115913.n3.nabble.com/Add-settings-and-mapping-when-create-new-river-mongodb-td4039081.html

关于mongodb - Elasticsearch River(mongodb),建模架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23376530/

33 4 0
文章推荐: javascript - 有没有办法将深度嵌套对象的所有值类型定义为字符串类型?
文章推荐: image - 如何将图像添加到wordpress中的每个类别?
文章推荐: javascript - 如何从文本文件中获取文本并将其显示在 中?