gpt4 book ai didi

elasticsearch - Elasticsearch标准 token 生成器不处理 “a.b”条目吗?

转载 作者:行者123 更新时间:2023-12-02 22:20:52 24 4
gpt4 key购买 nike

我正在使用ElasticSearch 0.90.7,所以我认为What exactly does the Standard tokenfilter do in Elasticsearch?的答案不适用(但是我看到的是相似的)。

我建立以下内容:

curl -XDELETE "http://localhost:9200/testindex"
curl -XPOST "http://localhost:9200/testindex" -d'
{
"mappings" : {
"article" : {
"properties" : {
"text" : {
"type" : "string"
}
}
}
}
}'

我填充以下内容:
curl -XPUT "http://localhost:9200/testindex/article/1" -d'{
"text": "file name. pdf"
}'

curl -XPUT "http://localhost:9200/testindex/article/2" -d'{
"text": "file name.pdf"
}'

搜索返回以下内容:
curl -XPOST "http://localhost:9200/testindex/_search" -d '{
"fields": [],
"query": {
"query_string": {
"default_field": "text",
"query": "\"file name\""
}
}
}'

{
"took": 2,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 0.30685282,
"hits": [
{
"_index": "testindex",
"_type": "article",
"_id": "1",
"_score": 0.30685282
}
]
}
}

...鉴于此,我猜测标准 token 生成器会将文档#2从 文件名.pdf 更改为 文件名pdf

我的问题是:
  • 我在这里猜吗?
  • 如果是这样:任何想法我可以使用什么标记程序来处理这些情况? (或者在提交之前,我是否需要在客户端中处理文本?
  • 最佳答案

    您可以使用Analyze API检查自己。

    这会产生file的 token namepdf"file name .pdf"

    以及 token filename.pdf"file name.pdf"

    StandardAnalyzer(或更确切地说是StandardTokenizer)根据Unicode Standard Annex #29中指定的Unicode文本分段算法来实现分词规则,该规则表示:

    Do not break within sequences, such as “3.2”



    因此, "name.pdf"被StandardTokenizer视为完整单词。

    对于您的查询, SimpleAnalyzer将起作用。您可以使用Analyze API以及 elasticsearch-inquisitor插件来测试可用的分析器。

    关于elasticsearch - Elasticsearch标准 token 生成器不处理 “a.b”条目吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21191617/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com