我正在尝试使用同义词配置 Elasticsearch 。 这些是我的设置: "analysis": { "analyzer": { "category_synonym": { "tokenizer": "whitespace", "filter": [ "synonym_filter" ] } }, "filter": { "synonym_filter": { "type": "synonym", "synonyms_path": "synonyms.txt" } } } 映射配置: "category": { …

2020年10月18日 0条评论 45点热度 阅读全文

我正在使用ElasticSearch 1.5.2,希望具有以下设置: "settings": { "analysis": { "filter": { "filter_shingle": { "type": "shingle", "max_shingle_size": 2, "min_shingle_size": 2, "output_unigrams": false }, "filter_stemmer": { "type": "porter_stem", "language": "English" } }, "t…

2020年8月6日 0条评论 47点热度 阅读全文

我试图在Lucene 8.3.0中创建一个自定义分析器,该分析器使用词干并使用文件中的自定义停用词过滤给定的文本。更清楚地说,我不想使用默认的停用词过滤器并在上面添加一些单词,我只想使用来自stopWords.txt文件的一组停用词进行过滤。我怎样才能做到这一点? 这是我到目前为止所写的,但是我不确定是否正确 public class MyAnalyzer extends Analyzer{ //public class MyAnalyzer extends Analyzer { @Override protect…

2020年7月3日 0条评论 45点热度 阅读全文

我正在使用ElasticSearch 1.5.2。我想允许在搜索引擎中搜索短语。 假设文字是read with section 114 of the Indian Penal Code使用默认的分析器,我无法在搜索查询中获得任何结果section 114 penal code因此,我添加了一个分析器: XContentBuilder settingsBuilder = XContentFactory.jsonBuilder() .startObject() .startObject("analysis") .sta…

2020年5月25日 0条评论 38点热度 阅读全文

我正在忙于创建文档搜索。主要思想是(使用Tika)读取文档,然后将其添加到索引中以创建全文本文档搜索。 很多文档都很大,每当我尝试对它们建立索引时,都会出现错误: IllegalArgumentException[Document contains at least one immense term in field\"<field>\" (whose UTF8 encoding is larger than the max length 32766), 与该线程相同: UTF8 encoding is…

2020年4月25日 0条评论 63点热度 阅读全文

是否有一种方法可以通过客户端以编程方式获取Elasticsearch服务器实例用于索引给定字段的analyzer(当然,假设分析器在两侧均可用)? 例如,使用如下映射: { "mappings": { "article": { "properties": { "text": { "type": "string", "index": "analyzed", "analyzer": "spanish" } } } } } 怎么可能使用 org.apache.lucene.analysis.es.SpanishAnaly…

2020年3月1日 0条评论 45点热度 阅读全文

我有一些我不想在索引之前分析的elasticsearch字段。我已经读到正确的方法是更改​​索引映射。现在,我的映射如下所示: { "test" : { "general" : { "properties" : { "message" : { "type" : "string" }, "source" : { "type" : "string" } } } } } 我希望它看起来像这样: { "test" : { "general" : { "properties" : { "message" : { "type"…

2020年2月15日 0条评论 37点热度 阅读全文

我的映射有4个字符串字段: “名称” “信息” “语言” “类型” 和4个自定义分析器: “english_custom_analyzer” “法语的自定义分析器” “spanish_custom_analyzer” “arabic_custom_analyzer” 我希望能够指定使用语言字段插入文档时要使用的分析器。 因此,如果语言是英语,则我想在文档字段中使用英语分析器,如果语言是法语,则要使用法文Analayzer。 我尝试创建一个名为“language_name_analyzer”的额外字段,在插入时使用分…

2019年10月8日 0条评论 44点热度 阅读全文

我没有从Analyzer获得预期的结果,并且想测试标记化过程。 回答此问题:How to use a Lucene Analyzer to tokenize a String? List<String> result = new ArrayList<String>(); TokenStream stream = analyzer.tokenStream(field, new StringReader(keywords)); try { while(stream.incrementToken(…

2019年4月21日 0条评论 37点热度 阅读全文

我编写了一个自定义分析器,该分析器将StandardAnalyzer封装为Length。现在,我想过滤掉仅包含数字的所有术语。实现此目的的最佳方法是什么? 解决方案如下: 您可能正在使用自定义TokenFilter。找出最简单的过滤器之一LowerCaseFilter。我认为您会发现按照这些思路编写自己的内容很容易。

2019年3月25日 0条评论 42点热度 阅读全文