2012-09-09 56 views
3

如何搜索在小查詢Solr中一個字(或者換句話說,如何通過面搜索中使用通配符)
例如 ,如果我有小遞交MyField的,它現在使用通配符Solr的面查詢搜索

 

         
 
  1. ValX ValY
  2. ValX
  3. ValZ ValW
  4. ValX ValV
  5. ValA ValX
  6. ValA ValB

如果我搜索fq=MyField:ValX,我將只得到第二個記錄:具有下列值。我如何搜索ValX並獲得第一,第二,第四和第五個記錄?
你知道fq=MyField:*ValX*是不允許的,fq=MyField:ValX*不會返回第5條記錄。
任何想法是高度讚賞。

+0

這不支持SOLR fq = MyField:* ValX *?如果是這樣可以實現的話?我想根據匹配的文本(如\ *文本\ *)進行過濾。謝謝 – Pranay

回答

1

Wildcard card on Facet Query should work

作爲通配符查詢不進行任何分析,你可以嘗試fq=MyField:valx*

你正在嘗試不過濾,而是搜索。
使用帶有小寫字母過濾器的空白標記器並搜索q=MyField:valx,它會匹配結果。您也可以使用前綴和通配符查詢。

+0

謝謝,但這不會返回第五條記錄....我怎樣才能返回valx無論其位置(??? ValX ???) – Alaa

+0

更新了答案。 – Jayendra

+0

受鏈接中斷 – killjoy

2

如何在schema.xml中定義MyField?在我看來,如果它沒有標記化,例如像與

type="string" 

隨着

type="text" 

字段值標記化,使

fq=MyField:valx 

應與1,2, 4和5.