波多野结衣 蜜桃视频,国产在线精品露脸ponn,a v麻豆成人,AV在线免费小电影

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了帶過濾功能的Spinx搜索查詢的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我需要按POST_CATEGORY_NAME(字符串值)列在Spinx查詢中添加額外的篩選,
我的當前索引:

  source min
    {
        type = mysql
        sql_host = localhost
        sql_user = root
        sql_pass =
        sql_db = test
        sql_query = select  p.id,  p.title, p.description, l.Latitude, l.Longitude FROM post p join location l on l.id = p.location_id
       // here I need filter by category name with post_id the same as 
       // p.id in table post
        sql_attr_float = Latitude
        sql_attr_float = Longitude
    }

我有3個表:POST、LOCATION和POST_CATEGORY
我的數據庫關系:1)發布位置一對一,
2)帶有POST_CATEGORY的帖子是一對多。

POST_CATEGORY表,此表只有兩列:POST_ID和POST_CATEGORY_NAME列,當此表中的POST_ID按距離映射時,我需要按此POST_CATEGORY_NAME進行搜索。

我用這樣的查詢按位置過濾,它工作得很好:

select *, geodist(48.712002, 2.677411, latitude, longitude) dist from serv1  where match('searchText*') and dist < 20 ;

在我的SELECT查詢之后,我希望在結果中包含以下列:

|id|緯度|經度|POST_CATEGORY_NAME|dist

并按POST_CATEGORY_NAME篩選。

所以當我搜索時,我需要這樣的內容:

 select *, geodist(48.712002, 2.677411, latitude, longitude) dist from serv1  where match('searchText*') and dist < 20 and post_category_name in ("All", "Shop");

請幫幫我。

推薦答案

因為每個帖子(可能)有多個類別,所以必須選擇如何編制索引。1)可以保持現在的狀態,并且每個帖子都有獅身人面像文檔,如果帖子在多個類別中,那么POST_CATEGORY_NAME實際上將包含多個值。

.或者2)可以改為每個帖子類別有一個文檔。因此,如果一個文檔屬于多個類別,則可能會有多個結果。


選項1更簡單,但選項2最終會更靈活(可以組合搜索,也可以不組合搜索,但您的獅身人面像查詢可能需要一個GROUP BY TO,以獲得每個帖子一個結果)

但目前的選項1..。

sql_query = SELECT p.id, p.title, p.description, l.Latitude, l.Longitude, 
     GROUP_CONCAT(c.category_name) AS post_category_name 
  FROM post p  
  INNER JOIN location l ON (l.id = p.location_id) 
  LEFT JOIN category c ON (c.post_id = p.id) 
  GROUP BY p.id 
  ORDER BY NULL

sql_field_string = post_category_name 

.將類別同時作為字符串屬性(用于檢索)和字段(用于匹配)

select id, post_category_name , geodist(48.712002, 2.677411, latitude, longitude) dist 
  from serv1 
  where match('searchText* @post_category_name All|Shop') and dist < 20;

雖然您可以在WHERE中使用POST_CATEGORY_NAME屬性,但如果可以使用全文查詢(字段)進行篩選,通常會更好。

這篇關于帶過濾功能的Spinx搜索查詢的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:Spinx 功能 查詢 過濾
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定