Tag: n gram

Elasticsearch – EdgeNgram + highlight + term_vector =错误的亮点

当我使用带有edgengram的分析器(min = 3,max = 7,front)+ term_vector = with_positions_offsets 使用text =“CouchDB”的文档 当我搜索“couc”时 我的亮点是“cou”而不是“couc” 似乎我的亮点仅在于最小匹配标记“cou”,而我期望在确切的标记(如果可能)或至少找到最长的标记。 它使用term_vector = with_positions_offsets分析文本时工作正常 删除term_vector = with_positions_offsets的性能有什么影响?

在java中用非常短的时间在一个非常大的ARPA文件中搜索

我有一个几乎1 GB的ARPA文件。 我不得不在不到1分钟的时间里搜索它。 我搜索了很多,但我还没有找到合适的答案。 我想我不必阅读整个文件。 我只需要跳转到文件中的特定行并阅读整行。 ARPA文件的行长度不同。 我必须提到ARPA文件具有特定格式。 文件格式 \数据\ ngram 1 = 19 ngram 2 = 234 ngram 3 = 1013 \ 1-克: -1.7132 puluh -3.8008 -1.9782 satu -3.8368 \ 2克: -1.5403 dalam dua -1.0560 -3.1626 dalam ini 0.0000 \ 3-克: -1.8726 itu dan tiga -1.9654 itu dan untuk \结束\ 正如您在样本文件中看到的,我有19行1克,234行2克和1013行3克。 我将该行的字符串部分提供给程序,并获取字符串左侧和右侧的数字。 输入字符串可以帮助我知道我必须在哪个部分搜索文件。我必须找到一种不完全读取文件的方法,因为我的文件非常大并且读取整个文件需要花费很多时间。 我认为这是跳转到文件中特定行而不使用索引文件和访问整行的好方法。 […]

Java Lucene NGramTokenizer

我正在尝试将字符串标记为ngrams。 奇怪的是,在NGramTokenizer的文档中,我没有看到一个方法会返回被标记化的单个ngrams。 实际上我只在NGramTokenizer类中看到两个返回String Objects的方法。 这是我的代码: Reader reader = new StringReader(“This is a test string”); NGramTokenizer gramTokenizer = new NGramTokenizer(reader, 1, 3); 被标记化的ngrams在哪里? 如何在字符串/单词中获得输出? 我希望我的输出如下:这,是,a,测试,字符串,这是,是一个测试,测试字符串,这是一个测试,一个测试字符串。