本文整理汇总了Golang中github.com/blevesearch/bleve.NewQueryStringQuery函数的典型用法代码示例。如果您正苦于以下问题:Golang NewQueryStringQuery函数的具体用法?Golang NewQueryStringQuery怎么用?Golang NewQueryStringQuery使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewQueryStringQuery函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: BlevePIndexQuerySamples
func BlevePIndexQuerySamples() []cbgt.Documentation {
return []cbgt.Documentation{
cbgt.Documentation{
Text: "A simple bleve query POST body:",
JSON: &struct {
*cbgt.QueryCtlParams
*bleve.SearchRequest
}{
nil,
&bleve.SearchRequest{
From: 0,
Size: 10,
Query: bleve.NewQueryStringQuery("a sample query"),
},
},
},
cbgt.Documentation{
Text: `An example POST body using from/size for results paging,
using ctl for a timeout and for "at_plus" consistency level.
On consistency, the index must have incorporated at least mutation
sequence-number 123 for partition (vbucket) 0 and mutation
sequence-number 234 for partition (vbucket) 1 (where vbucket 1
should have a vbucketUUID of a0b1c2):`,
JSON: &struct {
*cbgt.QueryCtlParams
*bleve.SearchRequest
}{
&cbgt.QueryCtlParams{
Ctl: cbgt.QueryCtl{
Timeout: cbgt.QUERY_CTL_DEFAULT_TIMEOUT_MS,
Consistency: &cbgt.ConsistencyParams{
Level: "at_plus",
Vectors: map[string]cbgt.ConsistencyVector{
"customerIndex": cbgt.ConsistencyVector{
"0": 123,
"1/a0b1c2": 234,
},
},
},
},
},
&bleve.SearchRequest{
From: 20,
Size: 10,
Fields: []string{"*"},
Query: bleve.NewQueryStringQuery("alice smith"),
Highlight: bleve.NewHighlight(),
Explain: true,
},
},
},
}
}
开发者ID:trebogeer,项目名称:cbft,代码行数:53,代码来源:pindex_bleve.go
示例2: QueryString
func (pages *Pages) QueryString(field string, str string) *Pages {
q := bleve.NewQueryStringQuery(str)
q.SetField(field)
pages.queries = append(pages.queries, q)
pages.clear()
return pages
}
开发者ID:h2object,项目名称:h2object,代码行数:7,代码来源:pages.go
示例3: Search
// Search is an http.HandlerFunc that accepts a Parse Cloud Code Webhook request.
//
// The expected query parameter is 'q'
func (i *Indexer) Search(w http.ResponseWriter, r *http.Request) {
req, err := webhookRequest(r, i.webhookKey)
if err != nil {
writeErr(w, err)
return
}
rawq := req.Params["q"]
if rawq == nil {
writeErr(w, fmt.Errorf("no term provided"))
return
}
q, ok := rawq.(string)
if q == "" || !ok {
writeErr(w, fmt.Errorf("no term provided"))
return
}
query := bleve.NewQueryStringQuery(q)
search := bleve.NewSearchRequest(query)
searchResults, err := i.index.Search(search)
if err != nil {
writeErr(w, err)
return
}
spew.Dump(searchResults)
ids := []string{}
for _, h := range searchResults.Hits {
ids = append(ids, h.ID)
}
err = json.NewEncoder(w).Encode(Response{
Success: ids,
})
if err != nil {
log.Println("error encoding response:", err)
}
}
开发者ID:tmc,项目名称:parsesearch,代码行数:38,代码来源:indexer.go
示例4: Search
func (docstore *DocStoreExt) Search(collection, queryString string) ([]byte, error) {
js := []byte{}
query := bleve.NewQueryStringQuery(queryString)
searchRequest := bleve.NewSearchRequest(query)
searchResult, err := docstore.index.Search(searchRequest)
if err != nil {
return nil, err
}
for index, sr := range searchResult.Hits {
jsPart := []byte{}
_, err := docstore.fetchDoc(collection, sr.ID, &jsPart)
if err != nil {
return nil, err
}
js = append(js, addID(jsPart, sr.ID)...)
if index != len(searchResult.Hits)-1 {
js = append(js, []byte(",")...)
}
}
if len(searchResult.Hits) > 0 {
js = js[0 : len(js)-1]
}
js = append(js, []byte("]")...)
// "_meta": searchResult,
// "data": docs,
// TODO(tsileo) returns meta along with argument
return js, nil
}
开发者ID:marsmensch,项目名称:blobstash,代码行数:28,代码来源:docstore.go
示例5: Search
// Search method lookup for records using a query
func (i *bleveIndexer) Search(q string) (records []indexer.Record) {
query := bleve.NewQueryStringQuery(q)
request := bleve.NewSearchRequest(query)
request.Highlight = bleve.NewHighlight()
result, err := i.bleve.Search(request)
if err != nil { // an empty query would cause this
return
}
for _, match := range result.Hits {
rec := i.Record(match.ID)
loaded := rec.Load()
if !loaded {
continue
}
if len(match.Fragments["Body"]) > 0 {
rec.SetBody([]byte(match.Fragments["Body"][0]))
}
records = append(records, rec)
}
return
}
开发者ID:pedronasser,项目名称:caddy-search,代码行数:27,代码来源:indexer.go
示例6: Search
func (b *Index) Search(queryStr string, offset, limit int, highlights bool) (*bleve.SearchResult, error) {
query := bleve.NewQueryStringQuery(queryStr)
req := bleve.NewSearchRequestOptions(query, limit, offset, false)
if highlights {
req.Highlight = bleve.NewHighlightWithStyle("ansi")
}
return b.index.Search(req)
}
开发者ID:piger,项目名称:corpus,代码行数:8,代码来源:index.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: Search
// Search performs a search of the index using the given query. Returns IDs of documents
// which satisfy all queries. Returns Doc IDs in sorted order, ascending.
func (i *Index) Search(q string) (DocIDs, error) {
query := bleve.NewQueryStringQuery(q)
searchRequest := bleve.NewSearchRequest(query)
searchRequest.Size = maxSearchHitSize
searchResults, err := i.Alias.Search(searchRequest)
if err != nil {
return nil, err
}
docIDs := make(DocIDs, 0, len(searchResults.Hits))
for _, d := range searchResults.Hits {
docIDs = append(docIDs, DocID(d.ID))
}
sort.Sort(docIDs)
return docIDs, nil
}
开发者ID:alisheikh,项目名称:ekanite,代码行数:18,代码来源:index.go
示例10: CommentsWithContent
// Find all comments matching text
// @return result.Result<[]*Comment, error>
func CommentsWithContent(repoPath, content string) result.Result {
return openIndex(repoPath, func(repo *git.Repository, index bleve.Index) result.Result {
query := bleve.NewQueryStringQuery(content)
request := bleve.NewSearchRequest(query)
return result.NewResult(index.Search(request)).FlatMap(func(match interface{}) result.Result {
hits := match.(*bleve.SearchResult).Hits
comments := make([]*gc.Comment, len(hits))
for idx, hit := range hits {
gc.CommentByID(repo, hit.ID).FlatMap(func(comment interface{}) result.Result {
comments[idx] = comment.(*gc.Comment)
return result.Result{}
})
}
return result.NewSuccess(comments)
})
})
}
开发者ID:git-comment,项目名称:git-comment,代码行数:19,代码来源:search.go
示例11: Search
func (cache *BleveCache) Search(ctx context.Context, term string, options SearchOptions) ([]*RecipeLink, error) {
q := bleve.NewQueryStringQuery(term)
req := bleve.NewSearchRequest(q)
res, err := cache.index.Search(req)
if err != nil {
return nil, err
}
links := make([]*RecipeLink, len(res.Hits))
for i, hit := range res.Hits {
filePath := cache.dbPath + "/" + hit.ID + ".json"
links[i], err = loadRecipeLink(filePath)
if err != nil {
return links, err
}
}
return links, err
}
开发者ID:gophergala2016,项目名称:recipe,代码行数:17,代码来源:blevecache.go
示例12: searchBleve
// Search the swish index for a given query.
func searchBleve(queryString string) (Results, error) {
index, err := openIndex()
if err != nil {
LogError(err)
return Results{}, err
}
defer index.Close()
newQueryString := ""
for _, tmp := range strings.Split(queryString, " ") {
word := strings.TrimSpace(tmp)
if word[0] == '-' || word[0] == '+' {
newQueryString += " " + word
} else if word[0] == '~' {
// Remove prefix to make term optional
newQueryString += " " + word[1:]
} else {
newQueryString += " +" + word
}
}
query := bleve.NewQueryStringQuery(newQueryString[1:]) // Remove leading space
search := bleve.NewSearchRequest(query)
search.Size = Config.MaxResults
searchResults, err := index.Search(search)
if err != nil {
println("Invalid query string: '" + newQueryString[1:] + "'")
LogError(err)
return Results{}, err
}
var ids []Scroll
for _, match := range searchResults.Hits {
id := Id(match.ID)
content, err := readScroll(id)
TryLogError(err)
scroll := Parse(string(id), content)
ids = append(ids, scroll)
}
return Results{ids[:len(searchResults.Hits)], int(searchResults.Total)}, nil
}
开发者ID:yzhs,项目名称:alexandria,代码行数:43,代码来源:Bleve.go
示例13: search
// search executes a search for rooms or buildings.
func (s *Server) search(w http.ResponseWriter, r *http.Request) {
query := r.URL.Query()
q := query.Get("q")
typeFilter := query.Get("type")
results := []*models.Index{}
if idx, ok := s.idIndex[q]; ok {
results = append(results, idx)
} else {
query := bleve.NewBooleanQuery()
if len(q) > 0 {
/*fuzzy_query := bleve.NewFuzzyQuery(q)
fuzzy_query.FuzzinessVal = 3
queryShould = append(queryShould, fuzzy_query)
queryShould = append(queryShould, bleve.NewRegexpQuery("[a-zA-Z0-9_]*"+q+"[a-zA-Z0-9_]*"))
queryShould = append(queryShould, bleve.NewQueryStringQuery(q))*/
query.AddShould(bleve.NewQueryStringQuery(q))
}
if typeFilter != "all" {
termQuery := bleve.NewTermQuery(typeFilter)
query.AddMust(termQuery)
}
searchRequest := bleve.NewSearchRequest(query)
searchRequest.Size = 25
searchResult, err := s.index.Search(searchRequest)
if err != nil {
http.Error(w, err.Error(), 500)
return
}
for _, result := range []*search.DocumentMatch(searchResult.Hits) {
results = append(results, s.idIndex[result.ID])
}
}
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(results)
}
开发者ID:d4l3k,项目名称:campus,代码行数:42,代码来源:main.go
示例14: main
// START OMIT
func main() {
index, err := bleve.Open("gophercon.bleve")
if err != nil {
log.Fatal(err)
}
qString := `+content:debugger ` // HLQUERY
qString += `title:"delve" ` // HLQUERY
qString += `title:go~2 ` // HLQUERY
qString += `-content:rust ` // HLQUERY
qString += `word_count:>30` // HLQUERY
q := bleve.NewQueryStringQuery(qString)
req := bleve.NewSearchRequest(q)
req.Highlight = bleve.NewHighlightWithStyle("html")
req.Fields = []string{"title", "author", "content", "word_count"}
res, err := index.Search(req)
if err != nil {
log.Fatal(err)
}
fmt.Println(res)
}
开发者ID:blevesearch,项目名称:gophercon15,代码行数:23,代码来源:search_query_string.go
示例15: buildQuery
func buildQuery(args []string) query.Query {
var q query.Query
switch qtype {
case "prefix":
pquery := bleve.NewPrefixQuery(strings.Join(args[1:], " "))
if qfield != "" {
pquery.SetField(qfield)
}
q = pquery
case "term":
pquery := bleve.NewTermQuery(strings.Join(args[1:], " "))
if qfield != "" {
pquery.SetField(qfield)
}
q = pquery
default:
// build a search with the provided parameters
queryString := strings.Join(args[1:], " ")
q = bleve.NewQueryStringQuery(queryString)
}
return q
}
开发者ID:bcampbell,项目名称:bleve,代码行数:22,代码来源:query.go
示例16: main
func main() {
flag.Parse()
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 index.Close()
// 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:bozzcq,项目名称:bleve,代码行数:36,代码来源:main.go
示例17: 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++ {
var query bleve.Query
switch *qtype {
case "prefix":
pquery := bleve.NewPrefixQuery(strings.Join(flag.Args(), " "))
if *qfield != "" {
pquery.SetField(*qfield)
}
query = pquery
case "term":
pquery := bleve.NewTermQuery(strings.Join(flag.Args(), " "))
if *qfield != "" {
pquery.SetField(*qfield)
}
query = pquery
default:
// 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")
}
if *includeStoredFields {
searchRequest.Fields = []string{"*"}
}
// execute the search
searchResult, err := index.Search(searchRequest)
if err != nil {
log.Fatalf("search error: %v", err)
}
fmt.Println(searchResult)
}
}
开发者ID:nourish,项目名称:bleve,代码行数:77,代码来源:main.go
示例18: query
func query(term, highlight string, index bleve.Index, u content.User, feedIds []data.FeedId, paging ...int) (ua []content.UserArticle, err error) {
var query bleve.Query
query = bleve.NewQueryStringQuery(term)
if len(feedIds) > 0 {
queries := make([]bleve.Query, len(feedIds))
conjunct := make([]bleve.Query, 2)
for i, id := range feedIds {
q := bleve.NewTermQuery(strconv.FormatInt(int64(id), 10))
q.SetField("FeedId")
queries[i] = q
}
disjunct := bleve.NewDisjunctionQuery(queries)
conjunct[0] = query
conjunct[1] = disjunct
query = bleve.NewConjunctionQuery(conjunct)
}
searchRequest := bleve.NewSearchRequest(query)
if highlight != "" {
searchRequest.Highlight = bleve.NewHighlightWithStyle(highlight)
}
limit, offset := pagingLimit(paging)
searchRequest.Size = limit
searchRequest.From = offset
searchResult, err := index.Search(searchRequest)
if err != nil {
return
}
if len(searchResult.Hits) == 0 {
return
}
articleIds := []data.ArticleId{}
hitMap := map[data.ArticleId]*search.DocumentMatch{}
for _, hit := range searchResult.Hits {
if articleId, err := strconv.ParseInt(hit.ID, 10, 64); err == nil {
id := data.ArticleId(articleId)
articleIds = append(articleIds, id)
hitMap[id] = hit
}
}
ua = u.ArticlesById(articleIds)
if u.HasErr() {
return ua, u.Err()
}
for i := range ua {
data := ua[i].Data()
hit := hitMap[data.Id]
if len(hit.Fragments) > 0 {
data.Hit.Fragments = hit.Fragments
ua[i].Data(data)
}
}
return
}
开发者ID:RavenB,项目名称:readeef,代码行数:72,代码来源:article.go
示例19: Search
func Search(q string) (*bleve.SearchResult, error) {
query := bleve.NewQueryStringQuery(q)
req := bleve.NewSearchRequest(query)
req.Highlight = bleve.NewHighlightWithStyle("html_ex")
return index.Search(req)
}
开发者ID:oblank,项目名称:knowledgedb,代码行数:6,代码来源:index.go
示例20: Example
func Example() {
INDEX_DIR := "gojieba.bleve"
messages := []struct {
Id string
Body string
}{
{
Id: "1",
Body: "你好",
},
{
Id: "2",
Body: "交代",
},
{
Id: "3",
Body: "长江大桥",
},
}
indexMapping := bleve.NewIndexMapping()
os.RemoveAll(INDEX_DIR)
// clean index when example finished
defer os.RemoveAll(INDEX_DIR)
err := indexMapping.AddCustomTokenizer("gojieba",
map[string]interface{}{
"dictpath": gojieba.DICT_PATH,
"hmmpath": gojieba.HMM_PATH,
"userdictpath": gojieba.USER_DICT_PATH,
"idf": gojieba.IDF_PATH,
"stop_words": gojieba.STOP_WORDS_PATH,
"type": "gojieba",
},
)
if err != nil {
panic(err)
}
err = indexMapping.AddCustomAnalyzer("gojieba",
map[string]interface{}{
"type": "gojieba",
"tokenizer": "gojieba",
},
)
if err != nil {
panic(err)
}
indexMapping.DefaultAnalyzer = "gojieba"
index, err := bleve.New(INDEX_DIR, indexMapping)
if err != nil {
panic(err)
}
for _, msg := range messages {
if err := index.Index(msg.Id, msg); err != nil {
panic(err)
}
}
querys := []string{
"你好世界",
"亲口交代",
"长江",
}
for _, q := range querys {
req := bleve.NewSearchRequest(bleve.NewQueryStringQuery(q))
req.Highlight = bleve.NewHighlight()
res, err := index.Search(req)
if err != nil {
panic(err)
}
fmt.Println(prettify(res))
}
// Output:
// [{"id":"1","score":0.27650412875470115}]
// [{"id":"2","score":0.27650412875470115}]
// [{"id":"3","score":0.7027325540540822}]
}
开发者ID:yanyiwu,项目名称:gojieba,代码行数:80,代码来源:bleve_test.go
注:本文中的github.com/blevesearch/bleve.NewQueryStringQuery函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论