Bleve命令行示例

时间:2019-04-19 10:06:41

标签: json go command-line full-text-search bleve

是否有一些示例详细说明了Bleve CLI的使用?

函数和参数记录在网站上,但是在实践中,很难知道什么是方法签名和必填字段。

经过谷歌搜索后,我发现了以下Github要点: https://gist.github.com/mschoch/5afa9ce2ae087dd240bf

但是似乎有点过时了。即使复制了我可以从中获得的一切,我仍然遇到许多莫名其妙的错误消息(即Error: error creating index: cannot create new index, path already exists)。

任何信息都会有所帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

为我工作

$ go version
go version go1.11.6 linux/amd64
$ go get -u github.com/blevesearch/bleve/...
$ sh test-bleve-search.sh 
+ set -e
+ cat
+ rm -fr test.bleve
+ bleve create ./test.bleve --mapping ./mapping.json
+ cat
+ bleve index test.bleve test.json
Indexing: test
+ bleve query test.bleve location.state:IN
1 matches, showing 1 through 1, took 173.341µs
    1. test (0.306853)
    location.state
        IN

具有固定脚本

#!/bin/sh

set -x
set -e

# create a custom mapping
cat > mapping.json << MAPPING
{
  "types": {
    "_default": {
      "properties": {
        "location": {
          "properties": {
            "state": {
              "fields": [
                {
                  "name": "state",
                  "type": "text",
                  "analyzer": "keyword",
                  "store": true,
                  "index": true,
                  "include_term_vectors": true,
                  "include_in_all": true
                }
              ]
            }
          }
        }
      }
    }
  }
}
MAPPING

rm -fr test.bleve

# create index
bleve create ./test.bleve --mapping ./mapping.json

# create JSON file to index
cat > test.json <<DELIM
{
    "name": "test",
    "location": {
        "address1": "777 TEST ROAD",
        "address2": "",
        "city": "HIGHLAND HEIGHTS",
        "state": "IN",
        "zip": "777777",
        "countryCode": "",
        "latitude": 41.549536,
        "longitude": -81.454717
    }
}
DELIM

# index test file
bleve index test.bleve test.json

# query for the file we indexed
bleve query test.bleve location.state:IN