Setting store to yes isn't actually required.  It might increase
performance in some cases at the cost of extra disk space.  I leave it
false everywhere and have no trouble.

Nik

On Tue, Dec 2, 2014 at 10:00 AM, N Bijalwan <[email protected]> wrote:

> Thanks Nik for very descriptive solution. I also did some mapping mistakes
> for which i was not able to get highlighted text in response for sample
> data.
>
> I fixed it by using folllowing mapping
>
> http://localhost:9200/cnn/test/_mapping
>
> {
>   "test": {
>     "properties": {
>       "file": {
>         "type": "attachment",
>         "path": "full",
>         "fields": {
>           "_content_type": {
>             "store":"yes"
>           },
>           "_name": {
>             "store":"yes"
>           },
>           "content": { "term_vector":"with_positions_offsets",
> "store":"yes" },
>           "file": { "term_vector":"with_positions_offsets", "store":"yes" }
>
>         }
>       }
>     }
>   }
> }
>
> and then i queried it like
>
> http://localhost:9200/cnn/test/_search?pretty=true
>
> {
> "_source" : ["file._content_type","file._name"],
> "query" : {
> "query_string" : {
> "query" : "CROWLEY"
> }
> },
> "highlight" : {
> "fields" : {
>     "file" : {"number_of_fragments" : 1}
> }
> }
> }
>
> Yes. I'll look into version 1.3 for performance.
>
> naveen
>
> On Tuesday, 2 December 2014 19:05:03 UTC+5:30, Nikolas Everett wrote:
>
>>
>>
>> On Mon, Dec 1, 2014 at 10:42 PM, N Bijalwan <[email protected]> wrote:
>>
>>> We are using manifolcf to crawl web pages and then index them through
>>> Elastic search.
>>>
>>>  Is there way to get only few lines that contain the searched keyword in
>>> response of elastic search query instead of whole content. Like we get in
>>> google search.
>>> Solution we are trying:  Reference http://www.
>>> elasticsearch.org/guide/en/elasticsearch/reference/
>>> current/docs-termvectors.html
>>> <https://email2010.searshc.com/owa/redir.aspx?C=VTBiULXBnE-XzIuMedjuaGPHLq134dEI2v0GWL91l1pzNGDfDsz11x4ckLumFc5e2EMae1ef3sk.&URL=http%3a%2f%2fwww.elasticsearch.org%2fguide%2fen%2felasticsearch%2freference%2fcurrent%2fdocs-termvectors.html>
>>>
>>> http://www.elasticsearch.org/guide/en/elasticsearch/
>>> reference/current/search-request-highlighting.html
>>> <https://email2010.searshc.com/owa/redir.aspx?C=VTBiULXBnE-XzIuMedjuaGPHLq134dEI2v0GWL91l1pzNGDfDsz11x4ckLumFc5e2EMae1ef3sk.&URL=http%3a%2f%2fwww.elasticsearch.org%2fguide%2fen%2felasticsearch%2freference%2fcurrent%2fsearch-request-highlighting.html>
>>>
>>> We are trying to do mapping like:
>>>
>>>     {
>>>           "mappings": {
>>>             "test": {
>>>               "properties": {
>>>           "file": {
>>>         "type": "attachment",
>>>         "path": "full",
>>>         "fields": {
>>>           "_content_type": {
>>>             "type": "string",
>>>             "store": true
>>>           },
>>>           "_name": {
>>>             "type": "string",
>>>             "store": true
>>>           },
>>>           "content": {
>>>             "type": "string",
>>>             "term_vector": "with_positions_offsets_payloads",
>>>             "store" : true,
>>>             "index_analyzer" : "fulltext_analyzer"
>>>
>>>           }
>>>         },
>>>     "store" : true,
>>>     "term_vector" : "with_positions_offsets_payloads"
>>>       }
>>>               }
>>>             }
>>>           },
>>>           "settings" : {
>>>             "index" : {
>>>               "number_of_shards" : 1,
>>>               "number_of_replicas" : 0
>>>             },
>>>             "analysis": {
>>>               "analyzer": {
>>>                 "fulltext_analyzer": {
>>>                   "type": "custom",
>>>                   "tokenizer": "whitespace",
>>>                   "filter": [
>>>                     "lowercase",
>>>                     "type_as_payload"
>>>                   ]
>>>                 }
>>>               }
>>>             }
>>>           }
>>>         }
>>>
>>>
>>> and then query like:
>>>
>>> {
>>>   "query": {
>>>     "match": {
>>>       "file": "CROWLEY"
>>>     }
>>>   },
>>>     "highlight" : {
>>>         "fields" : {
>>>             "file" : {"fragment_size" : 150, "number_of_fragments" : 3}
>>>         }
>>>     }
>>> }
>>>
>>> But we don't get highlight in response instead we get whole content in
>>> response.
>>>
>>> Any help is appreciated.
>>>
>>>
>>>
>> You have to specify the full path of what you want to highlight.  Like
>> {"fields": {"file.content"}}.  You'll also get the whole content back by
>> default unless you turn it off with "_source": false in the request.  You
>> can filter it to only get the parts that you want:
>> http://www.elasticsearch.org/guide/en/elasticsearch/
>> reference/current/search-request-source-filtering.html
>>
>> You'll find that using term vectors costs a ton of extra space and
>> therefor IO on write, merge, and search.  You can reduce it by switching to
>> the postings highlighter if your content is prose.  The plain highlighter
>> isn't an option if your content might get long.  Each of those highlighters
>> require different stored data and produce different shaped results.  You
>> could also try the experimental highlighter (if you are using Elasticsearch
>> 1.3.X) - it steals a ton of ideas from the others and is super flexible and
>> quite stable.  We wrote it because we couldn't afford the extra space for
>> term vectors but didn't like the posting's highlighter's segmentation rules.
>>
>> Nik
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "elasticsearch" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/e1004ca7-f0f8-4917-978c-70357e910451%40googlegroups.com
> <https://groups.google.com/d/msgid/elasticsearch/e1004ca7-f0f8-4917-978c-70357e910451%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CAPmjWd2rCj%2BU%3DBqZqMHtEuzDdRs0O7CPw3LiW4x8Tm_ZPZcCaA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to