当前位置: 首页 > 软件库 > 程序开发 > >

Dynamic-Synonym

ElasticSearch动态更新同义词插件
授权协议 Apache
开发语言 Java
所属分类 程序开发
软件类型 开源软件
地区 国产
投 递 者 严修谨
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Dynamic-Synonym 是 ElasticSearch 动态更新同义词插件 。主要提供了动态更新同义词的功能,支持本地文件和远程文件。

安装

1.

mvn package

2. 将target/releases/elasticsearch-analysis-dynamic-synonym-{version}.zip 解压到 your-es-root/plugins/dynamic-synonym

示例代码:

{
    "index" : {
        "analysis" : {
            "analyzer" : {
                "synonym" : {
                    "tokenizer" : "whitespace",
                    "filter" : ["synonym"]
               }
            },
            "filter" : {
                "remote_synonym" : {
                    "type" : "dynamic_synonym",
                    "synonyms_path" : "http://host:port/synonym.txt",
                    "interval": 30
                },
                "local_synonym" : {
                    "type" : "dynamic_synonym",
                    "synonyms_path" : "synonym.txt"
                },
            }
        }
    }
}

说明:synonyms_path 是必须要配置的,根据它的值是否是以http://开头来判断是本地文件,还是远程文件。 interval 非必须配置的,默认值是60,单位秒,表示间隔多少秒去检查同义词文件是否有更新。ignore_case 非必须配置的, 默认值是falseexpand 非必须配置的, 默认值是trueformat 非必须配置的, 默认值是空字符串, 如果为wordnet,则表示WordNet结构的同义词。

热更新同义词说明

  1. 对于本地文件:主要通过文件的修改时间戳(Modify time)来判断是否要重新加载。

  2. 对于远程文件:synonyms_path 是指一个url。 这个http请求需要返回两个头部,一个是 Last-Modified,一个是 ETag,只要有一个发生变化,该插件就会去获取新的同义词来更新相应的同义词。

注意: 不管是本地文件,还是远程文件,编码都要求是UTF-8的文本文件

  • 1 安装elasticsearch-analysis-dynamic-synonym插件 下载地址:GitHub - bells/elasticsearch-analysis-dynamic-synonym: The dynamic synonym plugin adds a synonym token filter that reloads the synonym file(local file

  • 1、下载同义词插件         https://github.com/bells/elasticsearch-analysis-dynamic-synonym 2、修改dynamic-synonym插件源码 2.1更新源码里面的es版本,es版本之前的差异很大 更新的很快一定要更新es的版本 2.2修改配置里面的db连接信息 jdbc.url=jdbc:oracle:thin:@10.111.

  • elasticsearch 5.2.1 elasticsearch-analysis-dynamic-synonym 5.1.1 看来要改改了,根据错误信息改了一下,不错可以使用 elasticsearch-analysis-dynamic-synonym 5.2.1 下载地址 风.fox https://github.com/bells/elasticsearch-analysis-dynami

 相关资料
  • 计算属性检测对属性所做的更改,并在使用set()方法调用它们时动态更新计算属性。 语法 (Syntax) ClassName.set('VariableName', 'UpdatedValue'); 例子 (Example) 以下示例显示了对属性进行更改时动态更新的值 - import Ember from 'ember'; export default function() { var

  • 问题内容: 是否可以在索引中存储elasticsearch的同义词?还是可以从像ouchdb这样的数据库中获取同义词列表?我想通过REST- API将同义词动态添加到elasticsearch。 问题答案: 使用同义词有两种方法: 在编制索引时扩展它们, 在查询时扩展它们。 不建议在查询时扩展同义词,因为它会引起以下问题: 评分,因为同义词具有不同的文档频率, 多令牌同义词,因为查询解析器在空白处

  • 问题内容: 我有一个表和两个具有相同表的数据库,但是一个是另一个的符号链接,并且只允许对该表进行读取。 我已经使用Hibernate将表映射到Java,并使用spring根据某些输入条件将实体管理器的数据源设置为两个数据库之一。 当我连接到第二个数据库时,我仅调用只读操作(选择),但是Hibernate似乎试图将某些内容刷新回数据库,并且它无法告诉该视图不允许更新。 如何仅对第二个数据源禁用此更新

  • 问题内容: http://www.mkyong.com/hibernate/hibernate/hibernate-dynamic-update-attribute- example/ 也提到了使用dynamic-update或dynamic- insert有积极的作用,尽管通常只对性能有一点影响。 但是参考文档提到,这也会对性能产生负面影响,如下所述:http : //docs.jboss.or

  • 你甚至可以映射 Map 类型的属性: <dynamic-component name="userAttributes"> <property name="foo" column="FOO" type="string"/> <property name="bar" column="BAR" type="integer"/> <many-to-one name="baz" c

  • 到现在,我们已经将QML作为一个工具用来构造静态场景和静态场景的导航。根据不同的状态和逻辑规则,一个实时动态的用户界面已经被创建。通过使用QML和JavaScript以更加动态的方式,进一步的扩大灵活性。组件可以在运行时加载和实例化,元素能够被销毁。动态创建的用户界面能够被存储在磁盘上,并且恢复。

  • 动态绑定确定在运行时而不是在编译时调用的方法。 动态绑定也称为后期绑定。 在Objective-C中,所有方法都在运行时动态解析。 执行的确切代码由方法名称(选择器)和接收对象确定。 动态绑定可实现多态性。 例如,考虑一组对象,包括Rectangle和Square。 每个对象都有自己的printArea方法实现。 在下面的代码片段中,表达式[anObject printArea]应该执行的实际代码

  • 动态段以route()方法中的“:”开头,后跟标识符。 URL在模型中使用id属性定义。 语法 (Syntax) Router.map(function() { this.route('linkpage', { path: '/linkpage/:identifier' }); }); 例子 (Example) 以下示例显示如何使用动态段来显示数据。 打开在app/templates/下创