簡體   English   中英

在Elasticsearch中查詢以返回給定短語的所有結果

[英]Query in Elasticsearch to return all results for a given phrase

我正在使用下面的代碼查詢Elasticsearch索引,但是我沒有找回與給定短語匹配的所有文檔。 當我們搜索特定的特定文檔時,它將返回特定的文檔。例如,如果我要輸入短語“ groovy”,則不會帶回所有帶有名稱字段groovy的文檔。 但是,如果我要搜索“ Help.groovy”,它只會帶給我Help.groovy。 感謝有人可以幫助我。

private def performSearchUsingElasticSearch(String q) {
    def escaped =  QueryParser.escape(q.toLowerCase().trim())
    def result = elasticSearchService.search(escaped)
    return result
}

樣本文件

 "hits": [
 {
    "_index": "a.b.c.d",
    "_type": "svnInfo",
    "_id": "183",
    "_score": 1,
    "_source": {
       "author": "abc1200",
       "name": "VendorSpec.groovy",
       "svnUrl": "http://svnrepo/tools/VendorSpec.groovy",
       "date": "Wed May 13 09:35:05 EDT 2015"
    }
 },  {
    "_index": "a.b.c.d",
    "_type": "svnInfo",
    "_id": "184",
    "_score": 1,
    "_source": {
       "author": "abc1200",
       "name": "Help.groovy",
       "svnUrl": "http://svnrepo/tools/Help.groovy",
       "date": "Wed May 13 09:35:05 EDT 2015"
    }

標准分析不會在標記前后加字母的期間破壞令牌(請參閱UAX#29的4.1節,尤其是規則WB6和WB7 )。

您可能需要考慮使用其他分析儀。 simple可能是一個不錯的選擇。 它沒有實現該文本分段標准,而是僅將標記定義為相鄰字母的序列,這看起來可能正是您想要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM