本文整理汇总了Golang中github.com/blevesearch/bleve.Open函数的典型用法代码示例。如果您正苦于以下问题:Golang Open函数的具体用法?Golang Open怎么用?Golang Open使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Open函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: search
func search(cfg *Config) error {
store, err := OpenStore(cfg.Store())
if err != nil {
return err
}
index, err := bleve.Open(cfg.Index())
if err != nil {
return err
}
defer index.Close()
q, err := makeSearchQuery(*searchQuery, nil)
if err != nil {
return err
}
rq := bleve.NewSearchRequest(q)
rq.Size = 100
ids := []string{}
for {
res, err := index.Search(rq)
if err != nil {
return err
}
for _, doc := range res.Hits {
ids = append(ids, doc.ID)
}
if len(res.Hits) < rq.Size {
break
}
rq.From += rq.Size
}
return printOffers(store, ids)
}
开发者ID:pmezard,项目名称:apec,代码行数:32,代码来源:search.go
示例2: OpenBlevePIndexImpl
func OpenBlevePIndexImpl(indexType, path string,
restart func()) (cbgt.PIndexImpl, cbgt.Dest, error) {
buf, err := ioutil.ReadFile(path +
string(os.PathSeparator) + "PINDEX_BLEVE_META")
if err != nil {
return nil, nil, err
}
bleveParams := NewBleveParams()
err = json.Unmarshal(buf, bleveParams)
if err != nil {
return nil, nil, fmt.Errorf("bleve: parse params: %v", err)
}
// TODO: boltdb sometimes locks on Open(), so need to investigate,
// where perhaps there was a previous missing or race-y Close().
bindex, err := bleve.Open(path)
if err != nil {
return nil, nil, err
}
return bindex, &cbgt.DestForwarder{
DestProvider: NewBleveDest(path, bindex, restart),
}, nil
}
开发者ID:trebogeer,项目名称:cbft,代码行数:25,代码来源:pindex_bleve.go
示例3: openIndex
func openIndex(path string) (bleve.Index, error) {
if _, err := os.Stat(path); os.IsNotExist(err) {
mapping := bleve.NewIndexMapping()
return bleve.New(path, mapping)
}
return bleve.Open(path)
}
开发者ID:marsmensch,项目名称:blobstash,代码行数:7,代码来源:docstore.go
示例4: main
func main() {
// Open an index if it already exists.
index, err := bleve.Open("example.bleve")
if err != nil {
mapping := bleve.NewIndexMapping()
index, err = bleve.New("example.bleve", mapping)
if err != nil {
fmt.Println(err)
return
}
}
data := struct {
Name string
}{
Name: "text",
}
// Index some data.
index.Index("id", data)
// Search for some text
query := bleve.NewMatchQuery("text")
search := bleve.NewSearchRequest(query)
searchResults, err := index.Search(search)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(searchResults)
}
开发者ID:DexterB,项目名称:Go,代码行数:32,代码来源:easysearch.go
示例5: OpenIndex
func OpenIndex() {
index, err := bleve.Open(IndexDBDir)
LimeIndex = index
if err != nil {
fmt.Println(err)
return
}
}
开发者ID:misakik,项目名称:f3,代码行数:8,代码来源:search.go
示例6: Delete
func (be *BleveEngine) Delete() error {
index, err := bleve.Open(INDEX)
if err != nil {
return err
}
index.Close()
os.RemoveAll(INDEX)
return nil
}
开发者ID:dorsha,项目名称:lennon,代码行数:9,代码来源:BleveEngine.go
示例7: main
func main() {
flag.Parse()
if *cpuprofile != "" {
f, err := os.Create(*cpuprofile)
if err != nil {
log.Fatal(err)
}
err = pprof.StartCPUProfile(f)
if err != nil {
log.Fatal(err)
}
defer pprof.StopCPUProfile()
}
if *indexPath == "" {
log.Fatal("Specify index to query")
}
if flag.NArg() < 1 {
log.Fatal("Specify search query")
}
// open index
index, err := bleve.Open(*indexPath)
if err != nil {
log.Fatal(err)
}
defer func() {
cerr := index.Close()
if cerr != nil {
log.Fatalf("error closing index: %v", err)
}
}()
for i := 0; i < *repeat; i++ {
// build a search with the provided parameters
queryString := strings.Join(flag.Args(), " ")
query := bleve.NewQueryStringQuery(queryString)
searchRequest := bleve.NewSearchRequestOptions(query, *limit, *skip, *explain)
// enable highlights if requested
if *includeHighlights {
searchRequest.Highlight = bleve.NewHighlightWithStyle("ansi")
}
// execute the search
searchResult, err := index.Search(searchRequest)
if err != nil {
log.Fatalf("search error: %v", err)
}
fmt.Println(searchResult)
}
}
开发者ID:drewwells,项目名称:bleve,代码行数:55,代码来源:main.go
示例8: Search
func (be *BleveEngine) Search(query string) (interface{}, error) {
index, _ := bleve.Open(INDEX)
bleveQuery := bleve.NewQueryStringQuery(query)
searchRequest := bleve.NewSearchRequest(bleveQuery)
searchResults, err := index.Search(searchRequest)
if err != nil {
return nil, err
}
return searchResults, nil
}
开发者ID:dorsha,项目名称:lennon,代码行数:11,代码来源:BleveEngine.go
示例9: NewBleveRecipeStore
func NewBleveRecipeStore(path string) RecipeStore {
idx, err := bleve.Open(path)
if err == bleve.ErrorIndexPathDoesNotExist {
mapping := bleve.NewIndexMapping()
idx, err = bleve.New(path, mapping)
}
if err != nil {
panic(fmt.Errorf("could not open/create bleve idx at %s: %v", path, err))
}
return &BleveRecipeStore{idx: idx}
}
开发者ID:LeoCavaille,项目名称:rcpmgr,代码行数:12,代码来源:recipe.go
示例10: New
func New(path, language string) (*Index, error) {
index, err := bleve.Open(path)
if err == bleve.ErrorIndexPathDoesNotExist {
indexMapping := buildIndexMapping(language)
index, err = bleve.New(path, indexMapping)
if err != nil {
return nil, err
}
} else if err != nil {
return nil, err
}
return &Index{index: index}, nil
}
开发者ID:piger,项目名称:corpus,代码行数:14,代码来源:index.go
示例11: Init
func Init(allDocs GetAllDocsFn) {
var err error
idx_path := path.Join(config.Current.DataDir, index_name)
index, err = bleve.Open(idx_path)
if err == bleve.ErrorIndexPathDoesNotExist {
log.Info("Creating new Index")
indexMapping := bleve.NewIndexMapping()
indexMapping.DefaultAnalyzer = config.Current.DefaultAnalyzer
entryMapping := bleve.NewDocumentMapping()
textField := bleve.NewTextFieldMapping()
entryMapping.AddFieldMappingsAt("Body", textField)
entryMapping.AddFieldMappingsAt("Title", textField)
tagField := bleve.NewTextFieldMapping()
tagField.Analyzer = tag_analyzer
entryMapping.AddFieldMappingsAt("Tags", tagField)
indexMapping.AddDocumentMapping("entry", entryMapping)
index, err = bleve.New(idx_path, indexMapping)
if err != nil {
log.Fatal(err)
}
// reindex existing documents
indexRebuildingLogged := false
for itm := range allDocs() {
if !indexRebuildingLogged {
indexRebuildingLogged = true
log.Info("Start rebuilding Search-Index")
}
index.Index(itm.Id(), itm.Content())
}
if indexRebuildingLogged {
log.Info("Finished rebuilding Search-Index")
}
} else if err == nil {
log.Info("Opening existing Index")
} else {
log.Fatal(err)
}
}
开发者ID:oblank,项目名称:knowledgedb,代码行数:50,代码来源:index.go
示例12: main
// START OMIT
func main() {
index, err := bleve.Open("people.bleve") // HLOPEN
if err != nil {
log.Fatal(err)
}
query := bleve.NewTermQuery("marty") // HLQUERY
request := bleve.NewSearchRequest(query) // HLREQ
result, err := index.Search(request) // HLSEARCH
if err != nil {
log.Fatal(err)
}
fmt.Println(result)
}
开发者ID:blevesearch,项目名称:gophercon15,代码行数:15,代码来源:search.go
示例13: debugQueryFn
func debugQueryFn(cfg *Config) error {
index, err := bleve.Open(cfg.Index())
if err != nil {
return err
}
defer index.Close()
q, err := makeSearchQuery(*debugQueryQuery, nil)
if err != nil {
return err
}
s, err := query.DumpQuery(index.Mapping(), q)
fmt.Println(s)
return err
}
开发者ID:pmezard,项目名称:apec,代码行数:14,代码来源:dump.go
示例14: main
func main() {
flag.Parse()
// open the index
beerIndex, err := bleve.Open(*indexPath)
if err == bleve.ErrorIndexPathDoesNotExist {
log.Printf("Creating new index...")
// create a mapping
indexMapping, err := buildIndexMapping()
if err != nil {
log.Fatal(err)
}
beerIndex, err = bleve.New(*indexPath, indexMapping)
if err != nil {
log.Fatal(err)
}
// index data in the background
go func() {
err = indexBeer(beerIndex)
if err != nil {
log.Fatal(err)
}
}()
} else if err != nil {
log.Fatal(err)
} else {
log.Printf("Opening existing index...")
}
// create a router to serve static files
router := staticFileRouter()
// add the API
bleveHttp.RegisterIndexName("beer", beerIndex)
searchHandler := bleveHttp.NewSearchHandler("beer")
router.Handle("/api/search", searchHandler).Methods("POST")
listFieldsHandler := bleveHttp.NewListFieldsHandler("beer")
router.Handle("/api/fields", listFieldsHandler).Methods("GET")
debugHandler := bleveHttp.NewDebugDocumentHandler("beer")
router.Handle("/api/debug/{docID}", debugHandler).Methods("GET")
// start the HTTP server
http.Handle("/", router)
log.Printf("Listening on %v", *bindAddr)
log.Fatal(http.ListenAndServe(*bindAddr, nil))
}
开发者ID:nerdpanda,项目名称:beer-search,代码行数:49,代码来源:main.go
示例15: openIndex
// Open or create a search index
// @return result.Result<bleve.Index, error>
func openIndex(repoPath string, ifSuccess func(*git.Repository, bleve.Index) result.Result) result.Result {
storage := filepath.Join(repoPath, gc.CommentStorageDir)
indexPath := filepath.Join(storage, indexFilePath)
return gg.WithRepository(repoPath, func(repo *git.Repository) result.Result {
os.Mkdir(storage, 0700)
success := func(index interface{}) result.Result {
return ifSuccess(repo, index.(bleve.Index))
}
return result.NewResult(bleve.Open(indexPath)).Analysis(success, func(err error) result.Result {
mapping := bleve.NewIndexMapping()
index := result.NewResult(bleve.New(indexPath, mapping))
return index.FlatMap(success)
})
})
}
开发者ID:git-comment,项目名称:git-comment,代码行数:17,代码来源:search.go
示例16: Index
func (be *BleveEngine) Index(document *Document) (int64, error) {
start := time.Now().UnixNano() / int64(time.Millisecond)
var index bleve.Index
mapping := bleve.NewIndexMapping()
index, err := bleve.New(INDEX, mapping)
if err != nil {
index, _ = bleve.Open(INDEX)
}
id := (*document).Id
data := (*document).Data
index.Index(id, data)
index.Close()
return time.Now().UnixNano()/int64(time.Millisecond) - start, nil
}
开发者ID:dorsha,项目名称:lennon,代码行数:16,代码来源:BleveEngine.go
示例17: NewIndexer
// NewIndexer prepares a new Indexer given the necessary Parse App credentials.
func NewIndexer(webhookKey, masterKey, appID string) (*Indexer, error) {
path := "contents.bleve"
i, err := bleve.Open(path)
if err == bleve.ErrorIndexPathDoesNotExist {
im := bleve.NewIndexMapping()
i, err = bleve.New(path, im)
} else if err != nil {
return nil, err
}
return &Indexer{
index: i,
webhookKey: webhookKey,
masterKey: masterKey,
appID: appID,
status: &indexStatusList{},
}, nil
}
开发者ID:tmc,项目名称:parsesearch,代码行数:18,代码来源:indexer.go
示例18: OpenBleveCache
func OpenBleveCache(dbPath string) (LocalCache, error) {
index, err := bleve.Open(dbPath)
if err == bleve.ErrorIndexPathDoesNotExist {
indexMapping := buildIndexMapping()
index, err = bleve.New(dbPath, indexMapping)
if err != nil {
return nil, err
}
} else if err != nil {
return nil, err
}
return &BleveCache{
dbPath: dbPath,
index: index,
}, nil
}
开发者ID:gophergala2016,项目名称:recipe,代码行数:17,代码来源:blevecache.go
示例19: main
func main() {
flag.Parse()
if *indexPath == "" {
log.Fatal("specify index to dump")
}
index, err := bleve.Open(*indexPath)
if err != nil {
log.Fatal(err)
}
defer func() {
cerr := index.Close()
if cerr != nil {
log.Fatalf("error closing index: %v", err)
}
}()
if *mappingOnly {
mapping := index.Mapping()
jsonBytes, err := json.MarshalIndent(mapping, "", " ")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", jsonBytes)
return
}
var dumpChan chan interface{}
if *docID != "" {
dumpChan = index.DumpDoc(*docID)
} else if *fieldsOnly {
dumpChan = index.DumpFields()
} else {
dumpChan = index.DumpAll()
}
for rowOrErr := range dumpChan {
switch rowOrErr := rowOrErr.(type) {
case error:
log.Printf("error dumping: %v", rowOrErr)
case upside_down.UpsideDownCouchRow:
fmt.Printf("%v\n", rowOrErr)
fmt.Printf("Key: % -100x\nValue: % -100x\n\n", rowOrErr.Key(), rowOrErr.Value())
}
}
}
开发者ID:Shugyousha,项目名称:bleve,代码行数:46,代码来源:main.go
示例20: openIndex
func openIndex(path string) bleve.Index {
index, err := bleve.Open(path)
if err == bleve.ErrorIndexPathDoesNotExist {
log.Printf("Creating new index...")
// create a mapping
indexMapping := buildIndexMapping()
index, err = bleve.New(path, indexMapping)
if err != nil {
log.Fatal(err)
}
} else if err == nil {
log.Printf("Opening existing index...")
} else {
log.Fatal(err)
}
return index
}
开发者ID:pedronasser,项目名称:bleve-wiki-indexer,代码行数:17,代码来源:index.go
注:本文中的github.com/blevesearch/bleve.Open函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论