2016-02-02 3 views
0

Как избежать дополнительного единого ценового предложения знакКак избежать лишних одинарные кавычки

ключевые слова = «фургон», «Бюрен», «уилльям», «генри», «Harrison»

при печати ключевых слов

печати ключевые слова

Выход:

"ван", "Бюрен", "уилльям", "генри", "Harrison"

Ницца на консольном окне

Когда я использую ту же переменную в запросе

  "fields": ["name","contextType"], 
      "query": { 
      "bool": { 
       "must": [ 
       {  
        "match": { "contextType": "{}".format(querystring)} 
       }, 
       { 
        "terms": { 
        "content": **["%s" % (keywords)]** 
        } 
       } 
       ] 
      } 
      } 

Ниже приведен результат

одинарную кавычку автоматически добавить

{'query': {'bool': {'must': [{'match': {'contextGraph.contextType': 'president'}}, {'terms': {'content': ***['"van","buren","william","henry","harrison"']*** 
}}]}}} 

Мой ожидаемый результат

{'query': {'bool': {'must': [{'match': {'contextGraph.contextType': 'president'}}, {'terms': {'content': ***["van","buren","william","henry","harrison"]*** 
}}]}}} 
+0

Не могли бы вы просто сделать '{'content': keywords [:]}'? – Jason

+0

Спасибо @ Джейсон, очень хорошая техника –

ответ

3

ключевые слова печатает как одна большая строка (заключенный в одинарные кавычки), потому что это то, что вы сказали это сделать:

{ 
    "terms": { 
     "content": **["%s" % (keywords)]** 
    } 
} 

Если вы хотите ключевые слова, чтобы напечатать в виде списка отдельных строк, просто напечатайте его таким образом:

{ 
    "terms": { 
     "content": keywords 
    } 
} 
+0

Спасибо @ Gordon, я хочу напечатать строки, такие как «van», «buren», «william», «henry», «harrison» это внутри квадратных скобок [«van», «buren» », "уилльям", "генри", "Harrison"]. Когда я следую вашему подходу для печати строки, результат был сгенерирован. { "термины": { "содержание": ключевые слова }} Результат ===== { "термины": { "содержание": \\ "Ван \\", \\» buren \\ ", \\" william \\ ", \\" henry \\ ", \\" harrison \\ " } } –

+0

@SaqibUllah Вы хотите, чтобы' [] 'был частью строки в' content'? – Jason