Thinking Sphinx를 사용하여 Rails에서 특정 필드를 검색하려고합니다.FieldSpecing의 검색 기능이 작동하지 않습니다.
모델 A, B, C에는 a, b, c라는 세 개의 테이블이 있습니다. 테이블의
내용 : 표 A, B, C
mysql> select * from a;
+----+--------+----------+
| id | name | city |
+----+--------+----------+
| 1 | 7-11 | Portland |
| 2 | Costco | Bend |
| 3 | Costco | Astoria |
+----+--------+----------+
3 rows in set (0.00 sec)
mysql> select * from b;
+----+--------+---------+
| id | name | city |
+----+--------+---------+
| 1 | 7-11 | Bend |
| 2 | Costco | Astoria |
| 3 | Costco | Bend |
+----+--------+---------+
3 rows in set (0.00 sec)
mysql> select * from c;
+----+--------+---------+
| id | name | city |
+----+--------+---------+
| 1 | 7-11 | Astoria |
| 2 | Costco | Astoria |
| 3 | Costco | Bend |
+----+--------+---------+
3 rows in set (0.00 sec)
이 내가 응용 프로그램 와이드 검색을 사용하여 내 콘솔에서 할 것입니다 :
목표 : 을 모두 표시 7-11 년대에 포틀랜드시는
irb(main):021:0> @a = ThinkingSphinx.search "7-11 @city Portland", :match_mode=>:extended
=> []
는 그 테이블 A는 7-가 알고 11 포틀랜드시와 함께.
irb(main):022:0> @a = A.search "7-11 @city Portland", :match_mode=>:extended
=> []
이
아스토리아 작품으로 도시와 코스트코
찾기 : 그래서 시도 할 수 있습니다. 장소 모두에 이름이있는 경우에 반대 필드 특정 검색이 텍스트 값으로 작동하는 이유를 모르겠어요 irb(main):023:0> @a = ThinkingSphinx.search "costco @city Astoria", :match_mode=>:extended
=> [#<B id: 2, name: "Costco", city: "Astoria">, #<A id: 3, name: "Costco", city: "Astoria">, #<C id: 2, name: "Costco", city: "Astoria">]
: 벤드 작품으로 도시와 코스트코 찾기
irb(main):023:0> @a = ThinkingSphinx.search "costco @city Astoria", :match_mode=>:extended
=> [#<B id: 2, name: "Costco", city: "Astoria">, #<A id: 3, name: "Costco", city: "Astoria">, #<C id: 2, name: "Costco", city: "Astoria">]
숫자와 대시 나는 문서를 읽었으며, 내가 뭘 잘못하고 있는지 모른다.
이
가 작동하는 것입니다 :irb(main):026:0> @a = A.search "7-11"
=> [#<A id: 1, name: "7-11", city: "Portland">]
그리고이 없습니다
irb(main):027:0> @a = A.search "7-11 @city Portland", :match_mode=>:extended
=> []
모델 A의 define_index 블록의 모양은 무엇입니까? – pat
define_index do 색인 이름 색인 도시 끝 – Shan