2017-06-12 4 views
0

Ich habe eine HTML-Dateien und ich muss Abschnitt um genau passende Zeichenfolge finden, sagen "JAHRESBERICHT PURSUANT". Ich verwende die neueste Version von Elasticsearch 5.4.0. Ich bin neu bei elasticsearch. Für die Indizierung habe ich definiert Analysator wie folgt:Elasticsearch: Need Offset von genau übereinstimmenden String

{ 
    "index_name": { 
     "settings": { 
      "index": { 
       "number_of_shards": "5", 
       "provided_name": "index_name", 
       "creation_date": "1496927173220", 
       "analysis": { 
        "analyzer": { 
         "contact_section_analyzer": { 
          "tokenizer": "my_tokenizer" 
         } 
        }, 
        "tokenizer": { 
         "my_tokenizer": { 
          "pattern": "(ANNUAL REPORT PURSUANT)", 
          "type": "pattern", 
          "group": "1" 
         } 
        } 
       }, 
       "number_of_replicas": "1", 
       "uuid": "vF3cAe-STJW-GrVxc7N8ww", 
       "version": { 
        "created": "5040099" 
       } 
      } 
     } 
    } 
} 

Jetzt versuche ich zu bekommen versetzt, wie unter Verwendung von Analyse:

POST localhost:9200/sag_sec_items6/_analyze?pretty 
{ 
    "analyzer": "contact_section_analyzer", 
    "text": "my_html_file_contents_already_indexed" 
} 

Es gibt:

{ 
    "tokens": [] 
} 

checkte ich HTML-Dateien sie enthält diesen Text.

Mit _search Abfrage mit individuellen _ids bekomme ich ganze HTML-Datei zurück. Wie bekomme ich Offsets oder die HTML-Tags, die diesen Text enthalten.

Antwort

0

neu definiert ich meine Analysatoreinstellungen wie folgt:

"settings": { 
     "analysis": { 
     "analyzer": { 
     "contact_section_start_analyzer": { 
       "char_filter": "html_strip", 
       "tokenizer": "contact_section_start_tokenizer" 
     } 
     }, 
     "tokenizer": { 
     "contact_section_start_tokenizer": { 
       "flags": "CASE_INSENSITIVE|DOTALL", 
       "pattern": "\\b(annual\\s+report\\s+pursuant)\\b", 
       "type": "pattern", 
       "group": "1" 
     } 
     } 
     } 
     } 

Mit dieser Änderung in RegexMuster einschließlich CASE_INSENSITIVE | DOTALL Flagge in Musteranalysatormodul ich in der Lage bin die Offsets zu erhalten.